declare cursor_name cursor scroll dynamic --定义游标
for select ForgingOperation_id, DisProp, MetaProp, Value from #Prop for update
open cursor_name
declare @Disp1 nvarchar(32) --定义变量
declare @OperID uniqueidentifier, @DisProp nvarchar(32), @MetaProp nvarchar(32), @Value nvarchar(32), @Sql nvarchar(256)
fetch First from cursor_name into @OperID, @DisProp, @MetaProp, @Value --获取第一条
while @@fetch_status=0
begin
set @Sql = 'select @Value=' + @MetaProp + ' from T_ForgingStep where obj_id=''' + cast(@OperID as nvarchar(36)) + ''''
exec sp_executesql @Sql, N'@Value nvarchar(32) output', @Value output
--update #Prop set Value=@Value where Current of cursor_name
select @Disp1=DisProp1,
from #Oper where ForgingOperation_id=@OperID
if @Disp1 is null or @Disp1=''
begin
update #Oper set DisProp1=@DisProp, Value1=@Value from #Oper where ForgingOperation_id=@OperID
end
fetch next from cursor_name into @OperID, @DisProp, @MetaProp, @Value --获取下一条
end
close cursor_name --关闭游标
deallocate cursor_name