use test
create trigger mkolp
on TB_DataPlat for insert
as
declare @DATA varchar(50)
declare @PFKID1 char(50)
declare @DataID1 varchar(50)declare qq_cursor cursor forselect PFKID,DataID,data from TB_DataPlat
open qq_cursor
fetch next from qq_cursor
into @PFKID1,@DataID1,@datadeclare @craftid char(20),@PFKID varchar,@DataID varchar, @data1 varchar(20)declare ww_cursor cursor for
select craftid,PFKID,DataID,data1 from pp_craftProperty
open ww_cursor
fetch next from ww_cursor
into @craftid,@PFKID,@DataID,@data1while @@fetch_STATUS=0
begin
if @PFKID=@PFKID1
begin
update pp_craftdataProperty set DataPFKID=@PFKID where craftid=@craftid
end
if @DataID=@DataID1
begin
update pp_craftdataProperty set DataPlatID=@DataID where craftid=@craftid
end
if @data=@data1
begin
update pp_craftdataProperty set data=@data where craftid=@craftid
end
fetch next from ww_cursor
into @craftid,@PFKID,@DataID,@data1
end
close qq_cursor
deallocate qq_cursorclose ww_cursor
deallocate ww_cursor
go我想 while 循环根据我传入的值循环,如果我传入 一个值 就循环一次传两个 就循环两次........
现在的情况是我传入 每个字段的第一个数据时执行 第二个数据和以后就不执行了 ,这个系统变量 @@fetch_STATUS=0 可能有错误怎么改呀sql数据go
create trigger mkolp
on TB_DataPlat for insert
as
declare @DATA varchar(50)
declare @PFKID1 char(50)
declare @DataID1 varchar(50)declare qq_cursor cursor forselect PFKID,DataID,data from TB_DataPlat
open qq_cursor
fetch next from qq_cursor
into @PFKID1,@DataID1,@datadeclare @craftid char(20),@PFKID varchar,@DataID varchar, @data1 varchar(20)declare ww_cursor cursor for
select craftid,PFKID,DataID,data1 from pp_craftProperty
open ww_cursor
fetch next from ww_cursor
into @craftid,@PFKID,@DataID,@data1while @@fetch_STATUS=0
begin
if @PFKID=@PFKID1
begin
update pp_craftdataProperty set DataPFKID=@PFKID where craftid=@craftid
end
if @DataID=@DataID1
begin
update pp_craftdataProperty set DataPlatID=@DataID where craftid=@craftid
end
if @data=@data1
begin
update pp_craftdataProperty set data=@data where craftid=@craftid
end
fetch next from ww_cursor
into @craftid,@PFKID,@DataID,@data1
end
close qq_cursor
deallocate qq_cursorclose ww_cursor
deallocate ww_cursor
go我想 while 循环根据我传入的值循环,如果我传入 一个值 就循环一次传两个 就循环两次........
现在的情况是我传入 每个字段的第一个数据时执行 第二个数据和以后就不执行了 ,这个系统变量 @@fetch_STATUS=0 可能有错误怎么改呀sql数据go
declare @PFKID1 char(50)
declare @DataID1 varchar(50)…………
declare @craftid char(20),@PFKID varchar,@DataID varchar, @data1 varchar(20)
还有为何要定义变量两次一样?使用游标速度慢,建议你不要使用游标