把 for each row 添进去 就出现语法错误 真是奇怪
7 个解决方案
#1
说得实际清楚点..
#2
没见过sqlserver有 for each row 的写法,好像是mysql的吧?建议:
1、认真阅读联机丛书
2、代码贴出来
3、错误信息贴出来
1、认真阅读联机丛书
2、代码贴出来
3、错误信息贴出来
#3
别把MS Sql和mysql搞混了
#4
for each row在TSQL里对应的应该是游标(cursor).
#5
http://www.cnblogs.com/hoojo/archive/2011/07/20/2111316.html
#6
sql server 2008r2没有for each row的语句,这个应该是oracle的语法吧,是行级触发器,也就是对每一行,都会触发一次。
在sql server 2008r2支持的触发器的语句,大致上是这样的:
--drop table test
--建一个表
create table test(id int,v varchar(10))
go
--再建一个表,用来实验触发器的效果
create table test_trigger(id int,v varchar(10))
go
--建立触发器
create trigger dbo.trigger_test
on test --表
for insert --针对哪种操作进行触发
as
insert into test_trigger(id,v)
select id,v from inserted --inserted是系统表,存储了insert语句插入的数据
go
--插入操作触发
insert into test
values(1,'aa')
--发现数据也插入到了test_trigger
select * from test_trigger
/*
id v
1 aa
*/
#7
for each row 确实是Oracle里面的东西
#1
说得实际清楚点..
#2
没见过sqlserver有 for each row 的写法,好像是mysql的吧?建议:
1、认真阅读联机丛书
2、代码贴出来
3、错误信息贴出来
1、认真阅读联机丛书
2、代码贴出来
3、错误信息贴出来
#3
别把MS Sql和mysql搞混了
#4
for each row在TSQL里对应的应该是游标(cursor).
#5
http://www.cnblogs.com/hoojo/archive/2011/07/20/2111316.html
#6
sql server 2008r2没有for each row的语句,这个应该是oracle的语法吧,是行级触发器,也就是对每一行,都会触发一次。
在sql server 2008r2支持的触发器的语句,大致上是这样的:
--drop table test
--建一个表
create table test(id int,v varchar(10))
go
--再建一个表,用来实验触发器的效果
create table test_trigger(id int,v varchar(10))
go
--建立触发器
create trigger dbo.trigger_test
on test --表
for insert --针对哪种操作进行触发
as
insert into test_trigger(id,v)
select id,v from inserted --inserted是系统表,存储了insert语句插入的数据
go
--插入操作触发
insert into test
values(1,'aa')
--发现数据也插入到了test_trigger
select * from test_trigger
/*
id v
1 aa
*/
#7
for each row 确实是Oracle里面的东西