你在trigger刚开始,判断field,当field为0时return
解决方案 »
- [高分答谢!]关于下面的SQLServer的正确语句,将其转为MYSQL5的正确语句!
- '号前面加个N是什么意思?有什么作用?
- 请问我如何删除一个内存表变量呢?如下
- 这个not exist究竟错在哪里?
- SQL SERVER2005 连接实例的服务器名称写法.\MSSQLSERVER为什么不行?
- 数据库异地备份还原后,用原先的用户名无法登录。
- 多表连接查询为什么相邻的结果要相乘,有没有什么办法不让他相乘
- 请问一个sql server2000问题
- 为什么:我的程序几分钟不动时会出现数据库连接失败
- 表哥今天结婚却不能回去,烦躁了一下午写了这么个Update语句。。。大家帮我看下到底哪里应该改进?
- SQL问题,可不可以用group by 对一个字符型的字段进行累加了?????在线等!!!!!
- 这个更新语句如何写?把test1.mac更新到test2.mac,条件是test1.ip=test2.ip
go
insert 表 values (1,2)
go
CREATE TRIGGER 名 ON 表
FOR UPDATE
AS
if update(a)
begin
select a 更新前a被删除的数据 from deleted
select a 更新后a被插入的数据 from inserted
end
if update(b)
begin
select a 更新前b被删除的数据 from deleted
select a 更新后b被插入的数据 from inserted
end
go
------------测试:
update 表 set a=3
-----------------
update 表 set b=4
的as下加一句判断field的语句
CREATE TRIGGER 名 ON 表
FOR UPDATE,INSERT
as
delcare @a int
select @a=field from inserted
if a=0else这样不可以吗
这个触发器()安在“MSP_test1”这个表上,这个表中有一个field是MSP_flag,当这个MSP_flag为1时,执行trigger(trigger_test),这个trigger_test完成一个插入一行记录到另一个表中MSP_test2, 当MSP_flag为0时,就不执行这个trigger_test
FOR INSERT
ASIF EXISTS (SELECT 1 FROM INSERTED WHERE MSP_flag='1')
BEGIN
INSERT MSP_test2 SELECT * FROM INSERTED
ENDgo
For Insert
As
Declare @FieldType int
Declare Cursor cursor1 for select MSP_flag from inserted
Open cursor1
fetch cursor1 into @FieldType
Close cursor1
If @FieldType>0 Then
你的插入执行代码。
End If
FOR INSERT
AS
Declare @FieldType bit
Declare Cursor cursor1 for select TASK_IS_MILESTONE from MSP_TASKS
Open cursor1
fetch cursor1 into @FieldType
Close cursor1If @FieldType>0 ThenINSERT INTO MSP_TEST(MSP_TEST) VALUES("TEST1")End If提示错误:156 cusor附近有语法错误