标题:哪位大侠帮我看一下我这个触发器的问题.
只看楼主
勤奋的关键字
Rank: 1
来 自:辽宁
等 级:新手上路
帖 子:51
专家分:2
注 册:2011-10-24
结帖率:72.73%
已结贴  问题点数:5 回复次数:2 
哪位大侠帮我看一下我这个触发器的问题.
数据库中有职工历史表  Emp-his
为emp表创建一触发器
当删除职工时,将删除职工的信息  保存到表EMP-his中 下面是我写的语句
CREATE TRIGGER tr_del_emp
ON emp
for delete
AS
BEGIN
     insert into emp_his(ID,name,eadd)
     values(:old.ID,:old.name,:old.eadd)

END

执行之后 告诉我   : 消息 102,级别 15,状态 1,过程 tr_del_emp,第 8 行 ':' 附近有语法错误。   
 这个是怎么回事?


[ 本帖最后由 勤奋的关键字 于 2012-3-19 11:29 编辑 ]
搜索更多相关主题的帖子: 触发器 insert values 
2012-03-16 11:25
qingshuiliu
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:17
帖 子:323
专家分:1538
注 册:2009-12-28
得分:5 
    

 insert into emp_his select ID,name,eadd from deleted;
2012-03-18 12:26
勤奋的关键字
Rank: 1
来 自:辽宁
等 级:新手上路
帖 子:51
专家分:2
注 册:2011-10-24
得分:0 
回复 楼主 勤奋的关键字
那我这个思路就是错的吧, 我自己又重写的 成功了 你给看下 我这个跟你写的多了个参数 但是2个触发器都在写SQL语句删除的时候能有效果可是用数据库表右键删除的时候提示我 错误信息:已更新或删除的行值要么不能使改行成为唯一行,要么改变了多个行(2行) 是怎么回事呢  求斑竹大大教教我吧 不要不回复我啊...
create trigger del_emp
on emp
for delete
as
begin
   declare @id int
   insert into emp_his
   select * from deleted;
   delete from emp where ID=@id
end


[ 本帖最后由 勤奋的关键字 于 2012-3-19 11:33 编辑 ]

人生就像程序,得经过一次次的调试才会趋于简单但却完美.
2012-03-19 11:28



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-363364-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.012856 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved