Sql 我能';不要制造触发器!请帮我更正一下

Sql 我能';不要制造触发器!请帮我更正一下,sql,postgresql,triggers,Sql,Postgresql,Triggers,我需要创建一个触发器 当我在sales表中得到一个新的元组时, 其数量应在库存表中减少1。 但是,此触发器不起作用。 请帮忙 多谢各位 创建触发库存\u更新 销售后插入 更新库存 设置标准数量=标准数量-1 其中NEW.s_b_id=st_id; 创建表格库存( st_id int参考书(b_id), st_price money不为空, st_数量int不为空 ); 创建表销售( 订单id串行主键, s_b_id int非空参考书(b_id), s_a_id int非空引用帐户(a_id),

我需要创建一个触发器

当我在sales表中得到一个新的元组时,
其数量应在库存表中减少1。
但是,此触发器不起作用。
请帮忙
多谢各位

创建触发库存\u更新
销售后插入
更新库存
设置标准数量=标准数量-1
其中NEW.s_b_id=st_id;
创建表格库存(
st_id int参考书(b_id),
st_price money不为空,
st_数量int不为空
);
创建表销售(
订单id串行主键,
s_b_id int非空参考书(b_id),
s_a_id int非空引用帐户(a_id),
s_价格货币不为空,
s_日期不为空
);
这样试试看

创建或替换函数stock\u update()
返回触发器
作为
$stock\u更新$
开始
更新库存
设置库存数量=库存数量-1
其中st_id=新的s_b_id;
归还新的;
结束;
$stock\u update$
语言plpgsql;
创建触发器库存\u更新\u触发器
销售后插入
每行
执行程序stock_update();
让我们试试看:

# insert into stocks values (1, 20, 100); INSERT 0 1 # insert into sales values(1, 1, 1, 20.00, '2013-12-10'); INSERT 0 1 # select * from stocks; st_id | st_price | st_quantity -------+----------+------------- 1 | $20.00 | 99 (1 row)
您正在使用什么RDBMS(SQL Server、MySQL、Oracle、Postgres等)?触发器的实现是特定于供应商的。您的问题还需要帮助吗?我正在使用PostgreSQL。对不起,我在学校。“这个触发器不工作。”不是一个有用的问题描述。请具体说明它是如何工作的。你收到错误信息了吗?如果是,是什么?谢谢。我尝试了下面的答案,效果很好。顺便说一句,我不能扣动扳机。我试过“DROP TRIGGER stock_update_TRIGGER;”,但它说“语法错误在或接近”;”。谢谢,效果很好。顺便问一下,我怎么才能扣动扳机?我试过“触发股票更新触发”,但不起作用。