dblink_build_sql_delete。我需要能够删除具有 <= 条件的数据
dblink_build_sql_delete . I need to be able to delete the data with <= condition
SELECT xyz.*
FROM PUBLIC.DBLINK ('dbname=LiveDB port=5432 host=127.0.0.1 user=postgres
password=root','SELECT dblink_build_sql_delete(''"folderstatus"'', ''1'', 1,
''{"1"}'')')
as xyz (id int);
ERROR: invalid input syntax for integer: "DELETE FROM folderstatuslu WHERE
id = '1'"
我无法删除此处的记录。我还需要知道如何添加“<=”条件,还需要传递一个参数。
我的代码将是这样的,我将选择 max(colum_value) 到一个变量中并将其传递给上面的查询,并且应该能够像下面那样删除。
DELETE FROM folderstatuslu WHERE id <= '1' --> (in the place of 1, I will
pass a variable.)
感谢您的帮助。
为什么不只是 dblink 和格式?..
t=# create table so43 (i int);
CREATE TABLE
t=# insert into so43 select 1;
INSERT 0 1
t=# select * from dblink('dbname = t',format('delete from so43 where i <= %s',1)) as row(result text);
result
----------
DELETE 1
(1 row)
SELECT xyz.*
FROM PUBLIC.DBLINK ('dbname=LiveDB port=5432 host=127.0.0.1 user=postgres
password=root','SELECT dblink_build_sql_delete(''"folderstatus"'', ''1'', 1,
''{"1"}'')')
as xyz (id int);
ERROR: invalid input syntax for integer: "DELETE FROM folderstatuslu WHERE
id = '1'"
我无法删除此处的记录。我还需要知道如何添加“<=”条件,还需要传递一个参数。 我的代码将是这样的,我将选择 max(colum_value) 到一个变量中并将其传递给上面的查询,并且应该能够像下面那样删除。
DELETE FROM folderstatuslu WHERE id <= '1' --> (in the place of 1, I will
pass a variable.)
感谢您的帮助。
为什么不只是 dblink 和格式?..
t=# create table so43 (i int);
CREATE TABLE
t=# insert into so43 select 1;
INSERT 0 1
t=# select * from dblink('dbname = t',format('delete from so43 where i <= %s',1)) as row(result text);
result
----------
DELETE 1
(1 row)