Gespeicherte Prozedur zurückgeben, der primary key nach dem einfügen?
Möchte ich eine gespeicherte Prozedur zur Rückgabe der Primärschlüssel des neuen Datensatzes nach der es ausgeführt wird. Ich denke, es wird zurückgegeben, die durch OUT-parameter in der Prozedur. Aber wie wählen Sie die neu eingefügte Zeilen-ID ? Ich weiß nicht verwenden möchten, wählen Sie MAX(row_id), da es ein multi-user Umgebung.
Jedes Verfahren, Stichprobe geschätzt werden.
Meine Plattform ISeries DB2 V5 R4. Danke.
Bearbeiten
Die Zeilen-id-Spalte keine Identitätsspalte ist. Es wird eine Sequenz für die Taste, die generiert wird über einen trigger before insert auf die Tabelle.
Bearbeiten
Hier ist, was ich versuche zu tun,
Begin Stored procedure
Insert into Employees;
(row id gets automatically generated by trigger)
Return row id ;
Möchte ich vermeiden wählen Sie bei der Rücksendung Zeilen-id.
- Gehen Sie zum aktualisieren dieser Frage?
- vereinbart. Er schien sehr darauf, wenn ich das erste Gespräch mit ihm dann irgendwie verschwunden.
- Lol, dude, das ich krank bin, bin ich immer noch in ihn =)
Du musst angemeldet sein, um einen Kommentar abzugeben.
nur setzen der parameter für die Spalte mit dem PK.
--AKTUALISIERT---
Hallo Popo,
First off, könnte man mehr detail auf, was Sie meinen, wenn Sie sagen, dass die rowid zugeordnet ist, durch einen Auslöser?
Hätten Sie eine wahre Identität Spalte, die Sie möchten, verwenden Sie die IDENTITY_VAL_LOCAL () - Funktion wie diese direkt nach dem EINFÜGEN:
SELECT IDENTITY_VAL_LOCAL() INTO myrowid FROM SYSIBM.SYSDUMMY1;
ich bin mir nicht zu 100% auf syntax, da ich in der Regel verwenden Sie eingebettete SQL und es funktioniert dort anders, so dass Sie möglicherweise haben, um mit ihm zu spielen. IBM-Dokumentation ist auf http://publib.boulder.ibm.com/infocenter/iseries/v6r1m0/index.jsp?topic=/db2/rbafzscaidentity.htm.Jedoch, da Sie etwas komplizierter, ich denke, diese Alternative Methode funktionieren könnte. Sie benötigen, um re-format Ihrer Einlage eingewickelt in eine Auswahl.
Müssen Sie einstellen für den richtigen Feldnamen und so weiter, aber ich denke, dies wird den trick tun. Es gibt nicht viel Dokumentation, aber wenn Sie sehen wollen, gehen Sie zu http://publib.boulder.ibm.com/infocenter/iseries/v6r1m0/index.jsp?topic=/db2/rbafzbackup.htm und ganz nach unten scrollen, um den unteren Rand der Seite.
Cheers
Dieser zurückkehren wird, die neu erstellte userId-Spalte-Wert... ganz einfach.