【SQLSERVER】动态游标的实现
CREATE TABLE #tabTmp(id int)
INSERT #tabTmp EXECUTE('SELECT id FROM '+@TableName)
declare curOne cursor for
SELECT id FROM #tabTmp
open curOne
FETCH NEXT from curOne into @ID
方法2:INSERT #tabTmp EXECUTE('SELECT id FROM '+@TableName)
declare curOne cursor for
SELECT id FROM #tabTmp
open curOne
FETCH NEXT from curOne into @ID
exec('
declare curOne cursor global
for' + @aSql)
open curOne
fetch curOne
方法3:declare curOne cursor global
for' + @aSql)
open curOne
fetch curOne
declare @sql varchar(2000),
@typefield varchar(100),
@tablename varchar(255),
@name varchar(100)
select @typefield = ''name'',@tablename = ''sysobjects''
set @sql = '' declare cuTemp cursor for ''
+'' SELECT DISTINCT ''+@typefield + '' FROM '' + @tablename
exec (@sql)
open cuTemp
fetch cuTemp into @name
while (@@fetch_status=0)
begin
print @name
fetch cuTemp into @name
end
close cuTemp
DEALLOCATE cuTemp
@typefield varchar(100),
@tablename varchar(255),
@name varchar(100)
select @typefield = ''name'',@tablename = ''sysobjects''
set @sql = '' declare cuTemp cursor for ''
+'' SELECT DISTINCT ''+@typefield + '' FROM '' + @tablename
exec (@sql)
open cuTemp
fetch cuTemp into @name
while (@@fetch_status=0)
begin
print @name
fetch cuTemp into @name
end
close cuTemp
DEALLOCATE cuTemp
本作品采用 知识共享署名-非商业性使用 2.5 中国大陆许可协议进行许可。 |