游标,触发器在什么情况下使用呢?能麻烦写个实例吗
1个回答
展开全部
游标是用来循环处理查询得到的每一列数据的方法,类似于while循环,提供集合处理之外的顺序处理能力。
触发器是在对数据表进行insert delete update等操作时,强制执行的后台操作。多用于业务逻辑检查,数据检查、生成等。
游标例子:
create table t_test(f1 int,f2 varchar(100),f3 datetime)
insert t_test(f1,f2,f3) values(1,'lime1',getdate())
insert t_test(f1,f2,f3) values(2,'line2',getdate())
insert t_test(f1,f2,f3) values(3,'line3',getdate())
declare @v1 int,@v2 varchar(100),@v3 datetime
declare curTEST cursor for
select f1,f2,f3 from t_test order by f1
open curTEST
fetch next from curTEST into @v1,@v2,@v3
while @@fetch_status = 0
begin
print 'f1='+cast(@v1 as varchar(10))+',f2='+@v2+',f3='+convert(char(20),@v3,121)
fetch next from curTEST into @v1,@v2,@v3
end
close curTEST
deallocate curTEST
drop table t_test
触发器稍微复杂点,建议你看看相关帮助。
触发器是在对数据表进行insert delete update等操作时,强制执行的后台操作。多用于业务逻辑检查,数据检查、生成等。
游标例子:
create table t_test(f1 int,f2 varchar(100),f3 datetime)
insert t_test(f1,f2,f3) values(1,'lime1',getdate())
insert t_test(f1,f2,f3) values(2,'line2',getdate())
insert t_test(f1,f2,f3) values(3,'line3',getdate())
declare @v1 int,@v2 varchar(100),@v3 datetime
declare curTEST cursor for
select f1,f2,f3 from t_test order by f1
open curTEST
fetch next from curTEST into @v1,@v2,@v3
while @@fetch_status = 0
begin
print 'f1='+cast(@v1 as varchar(10))+',f2='+@v2+',f3='+convert(char(20),@v3,121)
fetch next from curTEST into @v1,@v2,@v3
end
close curTEST
deallocate curTEST
drop table t_test
触发器稍微复杂点,建议你看看相关帮助。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询