我正在寻找一种方法来返回PostgreSQL中受DELETE子句影响的行数.该文件指出,
成功完成后,DELETE命令将返回表单的命令标记
删除计数
计数是删除的行数.如果count为0,则没有符合条件的行(这不被视为错误).
如果DELETE命令包含RETURNING子句,则结果将类似于SELECT语句的结果,该SELECT语句包含RETURNING列表中定义的列和值,这些列和值是通过命令删除的行计算的.
但我很难找到一个很好的例子.任何人都可以帮我这个,我怎么能找出删除了多少行?
编辑: 我接受了Milen的解决方案,但我想提出一个我后来发现的替代方案.它可以在这里找到,在38.5.5下解释.获取结果状态标题.
datagrip 有没有办法自动将关键字大写,即使它们是以小写形式输入的?例如 SELECT、FROM、WHERE、HAVING、ORDER BY?
以下查询返回:
SELECT AGE(cast(dob AS date))
FROM mas_patient_details;
age
----------
39 years 5 mons 19 days
13 years 2 days
69 years 2 days
41 years 11 mons 25 days
Run Code Online (Sandbox Code Playgroud)
此查询返回:
SELECT age(cast(dob as date))
FROM mas_patient_details
WHERE age <= 59;
age
----------
39 years 5 mons 19 days
13 years 2 days
69 years 2 days
41 years 11 mons 25
Run Code Online (Sandbox Code Playgroud)
如何从这些查询之一中简单地提取年份?
我是Postgres触发器的新手.我在www.postgresql.org上看到了一个触发器的例子,我不明白LANGUAGE plpgsql VOLATILE COST 100;
触发器函数的结尾是什么.
这条线有什么用?
我看到了一个与此相关的问题"LANGUAGE'plpgsql'VOLATILE"是什么意思?
但这只是关于volatile
什么cost 100
,language
在这一行?
我有一个名为employee的表,有两列,并为插入和更新操作创建了两个函数.这两个函数将通过另一个名为udf_3()的函数调用.
我想对第三个函数进行异常处理,该函数udf_3()
应该向我提供哪个函数有错误的详细信息.
- 表:employee
create table employee
(
id int,
name varchar(10)
);
Run Code Online (Sandbox Code Playgroud)
- 功能 1:udf_1()
用于插入.
create or replace function udf_1()
returns void as
$body$
begin
insert into employee values(1,'Mak');
end;
$body$
language plpgsql;
Run Code Online (Sandbox Code Playgroud)
- 功能 2:udf_2()
用于更新.
create or replace function udf_2()
returns void as
$body$
begin
update employee
set a_id = 99
where name = 'Mak';
end;
$body$
language plpgsql;
Run Code Online (Sandbox Code Playgroud)
- 功能 3:udf_3()
用于调用以上所有功能.
create or replace function udf_3()
returns …
Run Code Online (Sandbox Code Playgroud) 我试图运行以下sql语句.
SELECT
item.item_number, SUM(item.item_active)
FROM
public.item
GROUP BY item.item_number;
Run Code Online (Sandbox Code Playgroud)
我返回以下错误:
ERROR: function sum(boolean) does not exist
Run Code Online (Sandbox Code Playgroud)
我想如果我可以使用函数将其更改item.item_active
为整数,那么它可以采用活动记录的总和.
我需要临时禁用一个事务中的一个postgreSQL触发器,但没有硬件锁定表,有人知道是否可能
这样的事情,但没有锁定表和禁止在此事务之外的触发器
BEGIN TRANSACTION;
ALTER TABLE foo DISABLE TRIGGER bar;
-- DO SOME UPDATES ON foo
UPDATE foo set field = 'value' where field = 'test';
ALTER TABLE foo ENABLE TRIGGER bar;
COMMIT;
Run Code Online (Sandbox Code Playgroud) 当我的项目在解决方案资源管理器解决方案“解决方案名称”(0 个项目)中显示“项目名称”(不可用)时,如何使其正常工作?
如何使用 VBA 返回带有正常 HTML 标签的消息框?例子
dim mtext as string
mtext = "<em>hello</em> <br> world"
msgbox mtext
Run Code Online (Sandbox Code Playgroud) 我试图将MS-Access查询转换为postgres语句,以便我可以在SSRS中使用它.除了IIF声明外,似乎工作得很好.
SELECT labor_sort_1.ncm_id
,IIf(labor_sort_1.sortby_employeeid = 3721
, ((labor_sort_1.MaxUpdatedAt - labor_sort_1.MinNCMScanTime) * 24 * 29 * labor_sort_1.number_of_ops)
, IIf(labor_sort_1.sortby_employeeid = 3722
, ((labor_sort_1.MaxUpdatedAt - labor_sort_1.MinNCMScanTime) * 24 * 24 * labor_sort_1.number_of_ops)
, IIf(labor_sort_1.sortby_employeeid = 3755, ((labor_sort_1.MaxUpdatedAt - labor_sort_1.MinNCMScanTime) * 24 * 24 * labor_sort_1.number_of_ops)
, ((labor_sort_1.MaxUpdatedAt - labor_sort_1.MinNCMScanTime) * 24 * 17 * labor_sort_1.number_of_ops)))) AS labor_cost
FROM ...
Run Code Online (Sandbox Code Playgroud)
它返回以下消息
function iif(boolean, interval, interval) does not exist
我该如何解决这个问题?
postgresql ×7
sql ×2
triggers ×2
database ×1
datagrip ×1
delete-row ×1
plpgsql ×1
rowcount ×1
sql-delete ×1
vba ×1