所谓的遍历字段1是否就是查询出字段1的一组值,然后按照每个字段1里的值来决定sp的使用可以用游标执行declare @col1 varchar(50) declare cursor1 cursor for select col1 from tb open cursor1 fetch next from cursor1 into @col1 while @@fetch_status=0 begin if @col1='a' exec sp1 else if @col1='b' exec sp2 else if @col1='c' exec sp3 else if @col1='d' exec sp4 else exec sp5 fetch next from cursor1 into @col1 end close cursor1 deallocate cursor1
测试过,没有问题,谢谢指点 实际代码在触发器内如下 declare @ID_ChipSize BIGINTdeclare cursor1 cursor for select ID_ChipSize from ChipSize where MTWID > 0open cursor1 fetch next from cursor1 into @ID_ChipSize while @@fetch_status=0 BEGIN print @ID_ChipSize EXEC [1A_CalMainChipSize] @ID_ChipSize -- 调用SP实现不同计算 fetch next from cursor1 into @ID_ChipSize END close cursor1 deallocate cursor1
declare cursor1 cursor for
select col1 from tb
open cursor1
fetch next from cursor1 into @col1
while @@fetch_status=0
begin
if @col1='a' exec sp1
else if @col1='b' exec sp2
else if @col1='c' exec sp3
else if @col1='d' exec sp4
else exec sp5
fetch next from cursor1 into @col1
end
close cursor1
deallocate cursor1
实际代码在触发器内如下
declare @ID_ChipSize BIGINTdeclare cursor1 cursor for select ID_ChipSize from ChipSize where MTWID > 0open cursor1
fetch next from cursor1 into @ID_ChipSize
while @@fetch_status=0
BEGIN
print @ID_ChipSize
EXEC [1A_CalMainChipSize] @ID_ChipSize -- 调用SP实现不同计算 fetch next from cursor1 into @ID_ChipSize
END
close cursor1
deallocate cursor1