我的MERGE INTO
语句使用 SQL Developer 在 SQL 中工作:
MERGE INTO EMAIL_LIST d USING (SELECT 'stackoverflowuser95@gmail.com' EMAIL FROM DUAL) s ON (d.EMAIL = s.EMAIL) WHEN NOT MATCHED THEN INSERT (EMAIL) VALUES (s.EMAIL);
但是在 PHP 中尝试时不起作用:
$update_or_insert_list = oci_parse($conn,
"MERGE INTO EMAIL_LIST d USING (SELECT :email EMAIL FROM DUAL) s ON (d.EMAIL = s.EMAIL) WHEN NOT MATCHED THEN INSERT (EMAIL) VALUES (s.EMAIL);"
); // Also tried with ':email' and/or with ; inside the SQL statement
oci_bind_by_name($update_or_insert_list, ':email', $email);
oci_execute($update_or_insert_list);
这是表格:
CREATE TABLE EMAIL_LIST (
EMAIL VARCHAR2 (100) NOT NULL
);
ALTER TABLE EMAIL_LIST
ADD CONSTRAINT PK_EMAIL_LIST PRIMARY KEY ( EMAIL ) ;
-- And yes, this is a test-case!