码迷,mamicode.com
首页 > 数据库 > 详细

SQL相关简单游标

时间:2018-03-23 15:23:34      阅读:211      评论:0      收藏:0      [点我收藏+]

标签:temp   end   left join   处理   log   sql   var   blog   object   

BEGIN TRY

Create Table #Temp_Table_Record_Stat
(
....
)

DECLARE table_Cursor CURSOR FOR
SELECT object_id,t.name,convert(nvarchar,isnull(tn.Value,t.name)) as caption
FROM sys.tables t
left join sys.extended_properties tn on t.object_id=tn.major_id and tn.minor_id=0
WHERE t.Type=‘U‘ and t.is_ms_shipped=0 AND t.name<>‘sysdiagrams‘;

OPEN table_Cursor
FETCH NEXT FROM table_Cursor INTO @v_Table_ID,@v_Table_Name,@v_Table_Caption;
WHILE @@FETCH_STATUS = 0
BEGIN
-- make sure the object exists before calling sp_spacedused
IF EXISTS(SELECT id FROM sysobjects WHERE id = @v_Table_ID)
BEGIN
--相关游标操作
UPDATE #Temp_Table_Record_Stat SET Table_Caption=@v_Table_Caption WHERE Table_Name=@v_Table_Name;
END

FETCH NEXT FROM table_Cursor INTO @v_Table_ID,@v_Table_Name,@v_Table_Caption;
END
CLOSE table_Cursor
DEALLOCATE table_Cursor

RETURN 0;
END TRY
-- 结束Try
-- 开始对抛出的例外处理
BEGIN CATCH
BEGIN TRY
IF CURSOR_STATUS(‘global‘,‘table_Cursor‘)<>-3
DEALLOCATE table_Cursor;
END TRY
BEGIN CATCH
PRINT ‘关闭游标出错‘;
END CATCH;

PRINT ERROR_MESSAGE();
RETURN ERROR_NUMBER();
END CATCH;

SQL相关简单游标

标签:temp   end   left join   处理   log   sql   var   blog   object   

原文地址:https://www.cnblogs.com/lvjy-net/p/8630170.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!