首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Postgres -未更新行的指示

Postgres -未更新行的指示
EN

Stack Overflow用户
提问于 2011-03-27 19:24:25
回答 1查看 2.3K关注 0票数 1

我正在运行一个简单的更新查询,如下所示:

代码语言:javascript
复制
UPDATE some_table SET columnA = 'value' WHERE columnB = 'other value'

Postgres中有一种方法可以在没有更新的行时引发错误或打印一些消息吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-03-27 19:43:03

在数据库中,这仅在从存储过程执行更新时才有可能。在plpgsql中:

代码语言:javascript
复制
BEGIN
    UPDATE some_table SET columnA = 'value' WHERE columnB = 'other value'
    IF NOT FOUND THEN
        raise exception 'Nothing updated'; 
    END IF;
END

但是,不会记录该值,但会取消该命令。如果您只想记录日志,请使用raise warning,并将postgresql日志设置为包含警告。

如果您使用接口访问PostgreSQL,通常会有一个函数返回更新的值的数量。例如,在Java语言中有一个Statement类,函数是executeUpdate():

public int executeUpdate(String sql)引发SQLException

执行给定的SQL语句,该语句可以是INSERT、UPDATE或DELETE语句,也可以是不返回任何内容的SQL语句,如SQL DDL语句。

sql参数: SQL INSERT、UPDATE或DELETE语句或不返回任何内容的SQL语句

返回: INSERT、UPDATE或DELETE语句的行数,或不返回任何内容的SQL语句的0

抛出: SQLException -如果发生数据库访问错误或者给定的SQL语句生成ResultSet对象

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5448899

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档