Я использую Postgres с PHP, у меня есть два зависимых запроса, как показано ниже:
INSERT INTO tab2
SELECT * FROM tab1 WHERE col1 = $1 AND col2 IS NOT NULL;
DELETE FROM tab1 WHERE col1 = $1 AND col2 IS NOT NULL ;
Я хочу, чтобы они оба выполнялись или ни один из них.Итак, я создал следующий блок кода:
DO $$
BEGIN
INSERT INTO tab2
SELECT * FROM tab1 WHERE col1 = $1 AND col2 IS NOT NULL ;
DELETE FROM tab1 WHERE col1 = $1 AND col2 IS NOT NULL ;
END$$
Но это не работает и выдает ошибку ниже:
ОШИБКА: в сообщении связывания содержится 1 параметр, но подготовленный оператор ""требуется 0
код PHP:
$result = pg_query_params($pg_con_write,$query_PG,array($Param1));
Я думаю, что я не могу использовать параметры привязки таким образом ... Поэтому, пожалуйста, предложите наилучший из возможных способовсделай так ...