这个简单的触发器如何写???
当 数量和单价 改编的时候 金额自动计算=数量*单价CREATE TRIGGER AutoNum ON [dbo].[T_Proc]
FOR INSERT, UPDATE
AS
begin
declare @数量 int
declare @单价 money
declare @编号 varchar(10)
if update(数量) or update(单价) then
begin
select @数量 from deleted
select @单价 from inserted
select @编号 from inserted
update T_Proc set 金额=@数量*@单价 where 编号=@编号
end
end
当 数量和单价 改编的时候 金额自动计算=数量*单价CREATE TRIGGER AutoNum ON [dbo].[T_Proc]
FOR INSERT, UPDATE
AS
begin
declare @数量 int
declare @单价 money
declare @编号 varchar(10)
if update(数量) or update(单价) then
begin
select @数量 from deleted
select @单价 from inserted
select @编号 from inserted
update T_Proc set 金额=@数量*@单价 where 编号=@编号
end
end
解决方案 »
- 新人求几本比较好的书
- 想和你探讨一个纯学术上的问题!
- 我在 fast report 里放了一个memo 能不能实现分页打印?
- 那些ie地址栏插件如3721,中文域名,都应该使用了ie的beforeNavigate2事件,那同时装的话谁起作用呢?
- 原码
- 【求】将文本文件导入数据表时,分隔符的确定问题?
- 打听一下:b/s和c/s到底采用那种比较合适?
- access的查询功能和SQL SERVER的视图功能一样的吗,视图是不是不可以修改的
- 如何用install sheild做数据库应用程序的安装,详细点..
- 有没有愿意一起研究FOXMAIL4.0结构,及其实现的朋友(这里只为DELPHI的学习)?
- 对combobx如何实现如"帮助文件中索引"的形式
- 求助:Tmainmenu控件的字体如何修改,谢谢
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('update T_Proc set 数量=6,单价=7 where 编号=''001''');
ADOQuery1.ExecSQL
这样的话,为啥 金额 的值为null呢?
编号:varchar(10)
金额:money
数量: int
单价: money建立一个触发器自动计算
金额:=数量*单价
FOR INSERT, UPDATE
AS
begin
declare @数量 int
declare @单价 money
declare @编号 varchar(10)
if update(数量) or update(单价) then
begin
select @数量 from deleted
select @单价 from inserted
select @编号 from inserted
update T_Proc set 金额=@数量*@单价 where 编号=@编号
end
end
//我想知道的是 上面那里不对了!????
FOR INSERT, UPDATE
AS
begin
declare @数量 int
declare @单价 money
declare @编号 varchar(10)
if update(数量) or update(单价) then
begin
select @数量 from inserted
select @单价 from inserted
select @编号 from deleted
update T_Proc set 金额=@数量*@单价 where 编号=@编号
end
end