2016-04-09 16 views
0

Ich versuche eine DB2-Prozedur unter DB2 z/OS 10.1.5 zu erstellen. Der Code ich verwende ist:Fehler beim Erstellen einer einfachen DB2-SQL-Prozedur

CREATE PROCEDURE WSDIWW16.CALCULATE_SALARY() 
LANGUAGE SQL 
BEGIN ATOMIC 
update wsdiww16.emptable 
set dailywage = dailywage * 30; 
END; 

Ich erhalte sqlcode - 104

SQL0104N An unexpected token "<END-OF-STATEMENT>" was found following "". 
Expected tokens may include: "DECLARE". 

Ich habe nicht ein SQL-Prozedur zuvor erstellt haben. Kann jemand bitte helfen?

+1

Mögliche Duplikat [db2 gespeicherten Prozeduren Schaffung Verhalten] (http://stackoverflow.com/questions/15939165/db2-stored-procedures-creation-behavior) – MichaelTiefenbacher

+0

Diese Arbeit ist nicht für db2 ZOS – bp89

+0

Check out http://www-01.ibm.com/support/docview.wss?uid=swg21568227 – MichaelTiefenbacher

Antwort

-1

Ich glaube, dass Sie Ihre Prozeduren mit einem '/' beenden müssen.

+0

Funktioniert nicht für mich :( – bp89

0

Sie haben in dieser CREATE-Anweisung zwei Semikola. Der erste muss ein anderes Zeichen sein, das als Anweisungsabschlusszeichen erkannt wird.

Welche Entwicklungsumgebung verwenden Sie? In Rational Developer for z, können Sie mit der rechten Maustaste auf den Editor und wählen Sie die Option Terminator Set Statement:

RDz 1

Ähnliche Optionen sollten in Data Studio etc. verfügbar sein

0

Sie verwenden sollten, Ende Leitungsabschluss wie '/' und führen Sie Ihre Anfrage unter Befehl -

db2 + c -td/-vf SQL_file_name

HTH

0

Die Antwort mit dem grafischen Menü funktionierte für mich. Von innerhalb meines SQL-Skripts habe ich mit der rechten Maustaste irgendwo in den Leerraum geklickt. Das Menü oben erschien dann. Ich habe dann links auf "Set Statement Terminator" geklickt (wie gewünscht). Ich habe dann mein Terminatorzeichen auf "#" geändert (keine Anführungszeichen). Danach das Semikolonzeichen ";" fing wieder an zu arbeiten.

Ich hoffe, das hilft.

Verwandte Themen