小编Dan*_*sch的帖子

如何获取PostgreSQL中删除的行数?

我正在寻找一种方法来返回PostgreSQL中受DELETE子句影响的行数.该文件指出,

成功完成后,DELETE命令将返回表单的命令标记

删除计数

计数是删除的行数.如果count为0,则没有符合条件的行(这不被视为错误).

如果DELETE命令包含RETURNING子句,则结果将类似于SELECT语句的结果,该SELECT语句包含RETURNING列表中定义的列和值,这些列和值是通过命令删除的行计算的.

但我很难找到一个很好的例子.任何人都可以帮我这个,我怎么能找出删除了多少行?


编辑: 我接受了Milen的解决方案,但我想提出一个我后来发现的替代方案.它可以在这里找到,在38.5.5解释.获取结果状态标题.

postgresql rowcount delete-row sql-delete

29
推荐指数
5
解决办法
2万
查看次数

自动将 datagrip 中的内容大写

datagrip 有没有办法自动将关键字大写,即使它们是以小写形式输入的?例如 SELECT、FROM、WHERE、HAVING、ORDER BY?

datagrip

20
推荐指数
1
解决办法
5793
查看次数

如何从postgresql select查询中获取age()函数的年份

以下查询返回:

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)

如何从这些查询之一中简单地提取年份?

sql postgresql

10
推荐指数
1
解决办法
1万
查看次数

"LANGUAGE plpgsql VOLATILE COST 100"在函数中意味着什么

我是Postgres触发器的新手.我在www.postgresql.org上看到了一个触发器的例子,我不明白LANGUAGE plpgsql VOLATILE COST 100;触发器函数的结尾是什么.

这条线有什么用?

我看到了一个与此相关的问题"LANGUAGE'plpgsql'VOLATILE"是什么意思? 但这只是关于volatile什么cost 100,language在这一行?

postgresql triggers plpgsql

8
推荐指数
2
解决办法
1万
查看次数

PostgreSQL 9.5:异常处理

我有一个名为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)

postgresql exception-handling

8
推荐指数
1
解决办法
2万
查看次数

在postgresql中将bool转换为int

我试图运行以下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为整数,那么它可以采用活动记录的总和.

sql postgresql

8
推荐指数
2
解决办法
9886
查看次数

如何仅在一个事务中禁用PostgreSQL触发器?

我需要临时禁用一个事务中的一个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)

database postgresql triggers postgresql-9.5

7
推荐指数
3
解决办法
5288
查看次数

Visual Studio 解决方案显示(0 个项目)

当我的项目在解决方案资源管理器解决方案“解决方案名称”(0 个项目)中显示“项目名称”(不可用)时,如何使其正常工作?

visual-studio

6
推荐指数
2
解决办法
7096
查看次数

创建一个使用 html 的 vba 消息框

如何使用 VBA 返回带有正常 HTML 标签的消息框?例子

    dim mtext as string
    mtext = "<em>hello</em> <br> world"
    msgbox mtext
Run Code Online (Sandbox Code Playgroud)

vba

5
推荐指数
1
解决办法
2246
查看次数

PostFres中的IIF

我试图将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

5
推荐指数
3
解决办法
8489
查看次数