判断呗,要是有12的就把之前的删掉,然后再插一条。
原理和update没区别.....
原理和update没区别.....
解决方案 »
- 图文混排的内容,需要存入数据库再取出来,最后写word,怎么做
- 请教sql server 2000 性能配置问题
- 数据分析服务重建维度报如下错误
- 在news表中有一个DataTime类型的字段,如果“日”不足2位,怎样在“日”的前面加0呢?我的SQL语句:
- 一个select 条件看不懂 ,,, 在线等
- 请问他们返回的结果相同么??在线等待......
- 最后一点分,求一查询语句~~~~~~~~~~~~~~
- 后缀为.flc的文件是一种什么文件?
- 请问ADO的RECORDSET有数据量的限制吗?
- 有没有大神会的用python
- 关于小计合计,不使用GROUP BY 如何实现,我没有用会报错
- 请问一个方案
insert into info values(12,99)
额...sql server 2005下触发器建立的语法没怎么看懂...用书上的代码一直报错,斑竹能写一下么,菜鸟求救...
(no int,grade int)insert into info
select 12,88
-- 建触发器
create trigger tr_info
on info instead of insert
as
begin
delete a
from info a
inner join inserted b on a.no=b.no
insert into info(no,grade)
select no,grade from inserted
end
-- 插入
insert into info values(12,99)
-- 结果
select * from info
/*
no grade
----------- -----------
12 99(1 row(s) affected)
*/
INSTEAD OF INSERT
as
IF EXISTS (SELECT 1 FROM INSERTED a INNER JOIN info b ON a.[NO]=b.[no] AND a.grade<>b.grade)
UPDATE info SET info.grade=b.grade FROM info INNER JOIN INSERTED b ON info.[NO]=b.[no] AND info.grade<>b.grade
ELSE
INSERT INTO info SELECT * FROM INSERTED
原来数据:
no grade
12 20----如果这样操作
insert into info values(12,60)----结果
no grade
12 80触发器该怎样修改?因为我对您刚才那段触发器代码还不是特别理解,所以还不会,请再帮我一下吧!灰常感谢!