sql - postgresQL 更新错误

标签 sql postgresql

CREATE TRIGGER INSERT_salesorderdetail
before insert on salesorderdetail
for each row 
UPDATE customer
set number_of_items=IFNULL(number_of_items,0)+1
where new.customerid=customer.customerid;

我有 2 个表 salesorderdetail 和 customer,每次我在 salesorderdetail 中插入一个新项目时,我都希望将我在 customer 中的列更新为 number_of_items,但由于某种原因,我在更新时遇到语法错误。

最佳答案

这可能对您有帮助:

CREATE OR REPLACE FUNCTION update_customer()
  RETURNS trigger AS
$BODY$

  -- update ur table here

        RETURN NULL;
    END; 
$BODY$
  LANGUAGE plpgsql VOLATILE
  COST 100;
ALTER FUNCTION update_customer()
  OWNER TO db_name;

现在创建触发器为:

CREATE TRIGGER INSERT_salesorderdetail
before insert on salesorderdetail
for each row execute procedure update_customer();

关于sql - postgresQL 更新错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37978841/

相关文章:

arrays - 如何获取 json_agg() 查询返回的计数或记录?

php - MySQL查询结果中某项的顺序

sql - 使用 ROW_NUMBER() OVER (PARTITION BY ...) 时出现问题

sql - 如何在 SQL Server 中有效地查找以特定值结尾的非常大的表中的行?

database - 使用更新函数后,列失去了值并变为空

postgresql - 导入后postgres无法从大表中选择

sql - 使用窗口函数计算移动总和/平均值时的动态行范围 (SQL Server)

mysql - 改变表列数据类型

postgresql - sqlx 将 postgres 数组扫描到结构中

postgresql - 使用 Postgres 更新连接和位置