这是题意:定义一个AFTER行级触发器,当Teacher1表的工资(Sal)发生变化后就自动在工资变化表Sal_log中增加一条相应的记录。出现的错误:消息 137,级别 15,状态 1,过程 Insert_Or_Update_sal1,第 9 行
必须声明标量变量 "@Sa10"。
消息 137,级别 15,状态 2,过程 Insert_Or_Update_sal1,第 10 行
必须声明标量变量 "@Sa1"。我写的代码:CREATE TRIGGER Insert_Or_Update_sal1
ON Teacher1
FOR insert,update
AS
BEGIN
declare @Sal numeric(7,2),@Job CHAR(10),@Tno numeric(4),@Sal0 numeric(7,2),@Job0 CHAR(10),@Tno0 numeric(4)
--inserted是insert或update触发表临时表,参考下面帮助。
select @Tno=Tno,@Job=Job,@Sal=Sal from Inserted
select @Tno0=Tno,@Job0=Job,@Sa10=Sal from Deleted
if @Sal<>@Sa1
insert into Sal_log values('"+@Sal+"','"+@Job+"','"+@Tno+"')
END
必须声明标量变量 "@Sa10"。
消息 137,级别 15,状态 2,过程 Insert_Or_Update_sal1,第 10 行
必须声明标量变量 "@Sa1"。我写的代码:CREATE TRIGGER Insert_Or_Update_sal1
ON Teacher1
FOR insert,update
AS
BEGIN
declare @Sal numeric(7,2),@Job CHAR(10),@Tno numeric(4),@Sal0 numeric(7,2),@Job0 CHAR(10),@Tno0 numeric(4)
--inserted是insert或update触发表临时表,参考下面帮助。
select @Tno=Tno,@Job=Job,@Sal=Sal from Inserted
select @Tno0=Tno,@Job0=Job,@Sa10=Sal from Deleted
if @Sal<>@Sa1
insert into Sal_log values('"+@Sal+"','"+@Job+"','"+@Tno+"')
END
解决方案 »
- 将数据类型 varchar 转换为 bigint 时出错。
- 一个查询语句的问题
- 我不知道大家在设置小数字段的时候,一般是使用float ? 还是使用decimal类型??比如说财务的金额字段类型一般都设置什么?
- 关于一动态交叉表SQL?
- 求SQL语句
- sql存储过程显示报表的问题
- 请教一T-SQL语句,使得可以从一个表中检索出字段A的无重复纪录,并按字段B排序;其中字段A有重复纪录,字段B无重复纪录.
- 关于Sql server 7 的定时备份!!!
- select distinct 后可以接两条以上的字段吗?
- 另类的Identity乱编号问题。
- 在BAT批处理文件中执行SQL脚本文件时怎么判断SQL脚本执行成功还是失败?
- 如何找到相应的存储过程
必须声明标量变量 "@Sa10"。消息 137,级别 15,状态 2,过程 Insert_Or_Update_sal1,第 10 行
必须声明标量变量 "@Sa1"。我写的代码:CREATE TRIGGER Insert_Or_Update_sal1
ON Teacher1
FOR insert,update
AS
BEGIN
declare @Sal numeric(7,2),@Job CHAR(10),@Tno numeric(4),@Sal0 numeric(7,2),@Job0 CHAR(10),@Tno0 numeric(4)
--inserted是insert或update触发表临时表,参考下面帮助。
select @Tno=Tno,@Job=Job,@Sal=Sal from Inserted
select @Tno0=Tno,@Job0=Job,@Sa10=Sal from Deleted
if @Sal<>@Sa1
insert into Sal_log values('"+@Sal+"','"+@Job+"','"+@Tno+"')
END