Stored Procedure mit Übergabeparameter

Status
Nicht offen für weitere Antworten.

cam

Bekanntes Mitglied
Hallo,

ich möchte zum Ausführen einer Stored Procedure die Artikelnummer an diese Prozedur übergeben. Wie mache ich das?

Aufruf:
[HIGHLIGHT="Java"]try{
CallableStatement callLoeschen = Main.cn.prepareCall("{? = call loeschen}");
callLoeschen.setString(1, Main.artikelNr);
callLoeschen.execute();
}catch(Exception ex) {
System.out.println("Keine Verbindung (SPLoeschen): " + ex);
ex.printStackTrace();
}[/HIGHLIGHT]

SP:
Code:
CREATE PROCEDURE loeschen
	@art CHAR(25)
AS
	BEGIN
		DECLARE @zeit DATETIME, @artikel CHAR(25)
		DECLARE c_time CURSOR FOR
			SELECT zeitstemp, art_nr FROM ausl_li WHERE art_nr = @art ORDER BY zeitstemp ASC
		OPEN c_time
		FETCH c_time INTO @zeit, @artikel
		CLOSE c_time
		DEALLOCATE c_time
		DELETE FROM ausl_li WHERE zeitstemp = @zeit AND art_nr = @artikel
	END
GO
EXECUTE loeschen 
DROP PROCEDURE loeschen
 
Zuletzt bearbeitet von einem Moderator:

Ebenius

Top Contributor
Gegen Oracle funktioniert das bei uns so:
[HIGHLIGHT="Java"]final CallableStatement stmt = connection.prepareCall("CALL renameSomething(?,?)");
stmt.setString(1, oldID);
stmt.setString(2, newID);[/HIGHLIGHT]

Code:
CREATE OR REPLACE PROCEDURE "RENAMESOMETHING" (oldid IN VARCHAR2, newid IN VARCHAR2) IS
  ...
BEGIN
  ...
END;
/
Was anderes als Oracle kenne ich aber leider nicht. Sonst noch jemand?

Ebenius
 

cam

Bekanntes Mitglied
Ich habe ein bisschen probiert und es funktioniert jetzt:

Code:
            	 try{
         			CallableStatement callLoeschen = Main.cn.prepareCall("{call loeschen(?)}");			
         			callLoeschen.setString(1, Main.artikelNr);
         			callLoeschen.execute();
         		}catch(Exception ex){
        			System.out.println("Keine Verbindung (SPLoeschen): " + ex);	
        			ex.printStackTrace();
        		}
 
Status
Nicht offen für weitere Antworten.

Ähnliche Java Themen


Oben