[英]Selecting inserted record in Oracle from PHP OCI
我正在使用PHP站點中的OCI執行PLSQL塊,該站點中正在運行某些過程。 最后的過程是返回特定表的插入記錄rowid。
BEGIN
proc1(1);
proc2(2, rowid_);
END;
我想做的是,我想獲取該rowid記錄的主鍵值嗎?
有沒有辦法像下面這樣運行它,並通過oci_fetch_row或其他方式將選擇結果輸出到PHP?
BEGIN
proc1();
proc2(rowid_); -- out variable
SELECT column1, column2
FROM my_table
WHERE rowid = rowid_;
END;
有更好的方法。 嘗試類似:
DECLARE
nPK_col NUMBER;
nCol1 NUMBER := 1;
nCol2 NUMBER := 2;
BEGIN
INSERT INTO SOME_TABLE(COL1, COL2)
VALUES (nCol1, nCol2)
RETURNING PK_COL INTO nPK_col;
END;
本示例假定在執行INSERT
語句期間以某種方式(例如通過觸發器)填充了名為PK_COL
的主鍵列。 該RETURNING
的條款INSERT
語句指定的值PK_COL
從插入行應放入指定的變量,在這種情況下nPK_col
。 您可以在此處的RETURNING
子句文檔中指定多個列和變量。 您可能需要將其放入執行實際INSERT
任何過程中,然后添加OUT
參數以允許將該值傳遞回調用方-或使用FUNCTION
而不是PROCEDURE
並將主鍵值作為返回值FUNCTION
。
分享並享受。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.