gpt4 book ai didi

sql - pgAdmin 无法执行 sql 语句

转载 作者:行者123 更新时间:2023-11-29 12:30:17 24 4
gpt4 key购买 nike

我是 pgSQL 的新手,所以我正在执行不同的 sql 命令 - 这是下一个 - 我想通过最后一个 sql 命令获取受影响的行数:

 delete from "Menu" where "ID" = 0;
GET DIAGNOSTICS integer_var = ROW_COUNT;
select integer_var;

但是 pgAdmin 说:

 ERROR:  syntax error at or near "GET"
LINE 1: GET DIAGNOSTICS integer_var = ROW_COUNT;

我做错了什么?

最佳答案

从 PostgreSQL 9.0 开始,您可以使用 DO执行匿名代码块

DO $$
DECLARE
integer_var integer;
BEGIN
delete from "Menu" where "ID" = 0;
GET DIAGNOSTICS integer_var = ROW_COUNT;
raise notice 'Rows removed: %', integer_var;
END$$;

我用通知替换了最后一个选择,因为我不完全确定你想用那个选择的结果做什么,这种方式最容易说明 DO。

如果这最终要合并到某个程序中,您可能有可能直接检索受影响的行数。 libpq 包含返回受影响的行数的函数 PQcmdTuples。 PHP 具有函数 pg_affected_rows,在 JDBC 中,executeUpdate 返回受影响的行数。

关于sql - pgAdmin 无法执行 sql 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9345662/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com