簡體   English   中英

從PHP OCI選擇Oracle中插入的記錄

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM