使用脚本自己可以执行自己的特性,封装游标操作存储过程如下:
CREATE PROCEDURE Pr_ExecSQL2
@Asqlstring VARCHAR(8000) –输入的SQL语句
AS
EXEC (‘
http://www.gaodaima.com/34851.html封装游标存储过程(Pr_execsql2)_sqlserver
–启动事务
BEGIN TRAN
DECLARE @ASql VARCHAR(8000)
DECLARE tnames_cursor CURSOR LOCAL FAST_FORWARD FOR ‘+ @asqlstring +’
OPEN tnames_cursor
FETCH NEXT FROM tnames_cursor INTO @ASql
WHILE (@@FETCH_STATUS=0)
BEGIN
print @ASql
EXEC (@ASql)
IF @@ERROR <> 0 GOTO FINALEXIT
FETCH NEXT FROM tnames_cursor INTO @ASql
END
CLOSE tnames_cursor
DEALLOCATE tnames_cursor
COMMIT TRAN
RETURN
FINALEXIT:
ROLLBACK TRAN
CLOSE tnames_cursor
DEALLOCATE tnames_cursor
‘)
使用方法:
declare @sql varchar(8000)
set @sql=’select ”update a set a.a=” + b.a from b ‘
exec Pr_execsql2 @sql
欢迎大家阅读《封装游标存储过程(Pr_execsql2)_sqlserver》,跪求各位点评,若觉得好的话请收藏本文,by 搞代码