
用“游标”即可,语法如下:
delcare c1 cursor for //c1为游标名select a from table
open c1
while 1=1 begin
fetch a into @a1 //@a1是变量,这句作用是每一次都把每一行的a赋给变量@a1
if @@sqlcode = 2 begin//游标结束
break
end
.......//你的逻辑
end
1,INSERTINTOSELECT语句
语句形式为:InsertintoTable2(field1,field2,...)selectvalue1,value2,...fromTable1
要求目标表Table2必须存在,由于目标表Table2已经存在,所以除了插入源表Table1的字段外,还可以插入常量。
2,SELECTINTOFROM语句
语句形式为:SELECTvale1,value2intoTable2fromTable1
要求目标表Table2不存在,因为在插入时会自动创建表Table2,并将Table1中指定字段数据复制到Table2中。
高级查询如下:
A:UNION运算符
UNION运算符通过组合其他两个结果表(例如TABLE1和TABLE2)并消去表中任何重复行而派生出一个结果表。当ALL随UNION一起使用时(即UNIONALL),不消除重复行。两种情况下,派生表的每一行不是来自TABLE1就是来自TABLE2。
B:EXCEPT运算符
EXCEPT运算符通过包括所有在TABLE1中但不在TABLE2中的行并消除所有重复行而派生出一个结果表。当ALL随EXCEPT一起使用时(EXCEPTALL),不消除重复行。
DECLARE Roy CURSOR FORSELECT TOP 3 * FROM sysobjects
OPEN Roy
FETCH NEXT FROM Roy
WHILE @@FETCH_STATUS=0
BEGIN
FETCH NEXT FROM Roy
END
CLOSE Roy
DEALLOCATE Roy
举个例子给楼主参照
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)