SQLServerは結果集のデータを遍歴します。
947 ワード
Selcet文は結果セットを取得しています。結果セットを巡回するなら、各行によっていくつかの添削や評価などの操作を行います。
次の例は一つのテーブルを巡回してSQLをつなぎ合わせてSelcet*from‘表名’に相当する効果を実現します。
次の例は一つのテーブルを巡回してSQLをつなぎ合わせてSelcet*from‘表名’に相当する効果を実現します。
declare @tabelName varchar(1000)
declare @list varchar(1000)
declare @name varchar(1000)
Set @tabelName = 'SYS_Programme_Fuction' --
Set @list = '' --
--
DECLARE C_Employees CURSOR FAST_FORWARD FOR
-- ( )
select b.name from sysobjects a,syscolumns b where a.id=b.id and a.name = @tabelName
OPEN C_Employees;
-- , name, ,
FETCH NEXT FROM C_Employees INTO @name;
WHILE @@FETCH_STATUS=0
BEGIN
-- ( )
Set @list = @list + ',' + @name
--
FETCH NEXT FROM C_Employees INTO @name;
END
--
CLOSE C_Employees;
--
DEALLOCATE C_Employees;
declare @sql nvarchar(1000)
set @sql='select '+right(@list,len(@list)-1)+' from ' + @tabelName
exec (@sql)