inet, integer, inet, integer, character varying(64), character varying(96), character varying(255), character varying(64), character varying(64), character varying(9), integer) AS INSERT INTO tablename (col1, col2, col3, col4, col5, col6, col7, col8, col9, col10, col11, col12) VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12), ($13, $14, $15, $16, $17, $18, $19, $20, $21, $22, $23, $24);
Далее выполняю
EXECUTE p_insert ( ... ) , ( ... );
postgres говорит следующее:
ERROR: syntax error at or near ","
LINE 1: ...G75VZCQRN6JBKR3I28BXVPYUQ00B6JY','DZEAYFNZ4',4788), ('QIP3I5...
Подскажите, в чём дело?
Если просто INSERT сделать, без PREPARE — запрос проходит
EXCUTE позволяет разбивать параметры на группы. Так что все параметры должны быть внутри одних скобочек.
Не очень понял. В самом PREPARE поместить все $i в одни скобки или в EXECUTE все значения должны быть в одних скобках?
Покажите лучше всё целиком, без "..." — проблема где-то там, скорее всего.
EXECUTE p_insert ('QIP3I5YG6CC358JCHI2L','113.219.6.208',4607,'77.9.78.87',2146,'XU9MM2B96SRM0WSNZ954SCBDW2603OBDQFFIB8H7872KKBIAIWMITV9TEZX3BPJJ','8ZHDYY2EHKZJJ1AFCAFM5EWU7DHL3C098BQD2MX0SZ6WK1Y1CZP65DGM3C8LHV2EKFMYYJ3FNWNWG2ELJDEAXZOMZJV7MFWZ','aaaaaa','Q0Y7KL5H4T24YH798G7M3S4ZBKGHF2K1UHDQ36E4OOPWA0U5ZQN22NS1O48LFGMX','55O9K3JVJ72Q8HZ5G1W2RDCKDOSC5EJSPG75VZCQRN6JBKR3I28BXVPYUQ00B6JY','DZEAYFNZ4',4788),('YHB0D92HR654DN35ZY5P','200.179.3.153',93,'101.112.115.219',314,'93YY09MRUWZZWFNSEC19ZRGF77AVNC36BNYKN0JEH0TB1ZCS1BXHARTGA0IK5NMW','CIPZHBCCR8INN7LOAMPLXRVC1S37NGZA2ECP1BAXQL4ITABL4SS1B9P50FK1H3GS42ZF60AVB66QYJDN20OVOLT0GWIT8Y7N','aaaaaaaa','7JQNMXECBV3GEOB2244DS7UD4U9MLEU9MWQK4QXQE8DRZUVJWS6KHGT9ZHV48083','LG7X56HMR7G4TJYNL08B1B0UTMD13B4GQQ1E5RJ0M9YPHTLGGGLH5EWXZV7ZQVJY','DWVWW6746',8905);
Ну так у Вас параметры в разных скобках, в самом деле. В EXECUTE нет такого синтаксиса. EXECUTE name [ ( parameter [, ...] ) ] https://www.postgresql.org/docs/current/sql-execute.html
Да, точно, спасибо. Невнимательный
Да-да, спасибо!
Обсуждают сегодня