Db2
從儲存過程返回表中的標識元素(自動生成)的方法/方法是什麼?
我的數據庫中有帶有自動生成的主鍵的表,當從我的 Java 呼叫程式碼中插入新行時,我想獲取這些表。我正在嘗試創建儲存過程來處理插入並將主鍵(即自動生成鍵)返回給呼叫程式碼。我一次只插入一行。
我遇到了 SCOPE_IDENTITY() 函式,但它似乎不能在儲存過程中工作。我很可能以不正確的方式使用它,所以這也可能是問題所在。
這是我從不同來源匯總的內容。這不會編譯,也絕不是正確的方法。我是一個新手,所以看起來有人試圖用一種破碎的語言進行交流。請多多包涵。
CREATE OR REPLACE PROCEDURE SAVER(IN PARAMETER1 VARCHAR(30), OUT ID_PARM BIGINT) BEGIN DECLARE v_PARAM VARCHAR(30); DECLARE v_ID BIGINT; SET v_PARAM=PARAMETER1; INSERT INTO TAB_1 (NAME) VALUES (v_PARAM); SELECT SCOPE_IDENTITY() INTO v_ID; SET ID_PARAM=v_ID; END
我擔心的另一件事是我在某處讀到 Java 和 DB2 不支持 out 參數,所以我不確定如何返回這個值。
用於獲取最近分配的標識值的 Db2 函式是
IDENTITY_VAL_LOCAL()
.