1
我正在做一個非常基本的Oracle數據庫插入,用RETURNING INTO子句獲取主鍵。儘管我不斷得到空回報,但我無法弄清楚我的生活會出現什麼問題。除了這個問題,行插入非常好。代碼如下:PHP/ORACLE oci_bind_by_name和RETURNING INTO得到PK
$requestParentSQL = "INSERT INTO
KRANE_REQUEST (
DATE_REQUESTED,
DATE_EMAILED,
PERSON_ID,
AUTHORISER_ID
)
VALUES (
SYSDATE,
SYSDATE,
'$theUser',
'$theAuthoriser'
)
RETURNING
KRANE_REQUEST_ID
INTO
:NEW_KRID";
$oracleConnection = oci_connect(_DATABASEUSERNAME, _DATABASEPASSWORD, _DATABASE);
$oracleStatement = oci_parse($oracleConnection, $requestParentSQL);
oci_bind_by_name($oracleStatement, ':NEW_KRID', $theNewKRID, 8);
oci_execute($oracleStatement, OCI_DEFAULT);
oci_commit($oracleConnection);
oci_free_statement($oracleStatement);
oci_close($oracleConnection);
'NEW_KRID'是一個int還是char?默認情況下它會綁定'SQLT_CHAR',因爲你省略了第5個參數。 –
數據類型是數字(12),我試着定義SQLT_CHR和SQLT_INT,以及一些其他選項,只是爲了看看會發生什麼。但他們都沒有回報價值。 – Sebconn
僅供參考我嘗試使用oci_bind_by_name插入日期變量到表中,工作正常。 – Sebconn