--変数定義
DECLARE @sql varchar(max);
DECLARE @name varchar(100)
DECLARE @objectid int
--SQL文作成
SET @sql = 'SELECT name, object_id '
SET @sql = @sql + 'FROM sys.tables '
--カーソルを定義する
EXEC('DECLARE cur CURSOR FOR ' + @sql)
--カーソルを開く
OPEN cur
--次のレコードを取得する
FETCH NEXT FROM cur INTO @name, @objectid
--レコードが存在する間ループする
WHILE @@FETCH_STATUS = 0
BEGIN
--取得した値を表示する
print @name
print @objectid
--次のレコードを取得する
FETCH NEXT FROM cur INTO @name, @objectid
END
--カーソルを閉じる
CLOSE cur
DEALLOCATE cur