declare @PROJECT_ID varchar(50),@tablename varchar(50), @wf_b_id varchar(50),@wfid varchar(20),@Sql varchar(500)
set @PROJECT_ID='P2012189'
set @wfid=''
set @tablename=''
begin
exec('select tablename into newtable from PM_GCPS_TBL')--这里将表名存到一个新表中,很多方式的
DECLARE MyCursor CURSOR
FOR select tablename from newtable
OPEN MyCursor
FETCH NEXT FROM MyCursor INTO @tablename
WHILE @@FETCH_STATUS =0
BEGIN
--这块是重点PROJECT_ID='''+@PROJECT_ID+''+'''' 项目ID 是字符型的 ,这么多‘'’很不好把握
SET @Sql='DECLARE MyCursor2 CURSOR FOR select wf_b_id from '+ @tablename+' where PROJECT_ID='''+@PROJECT_ID+''+''''
EXEC(@Sql)
OPEN MyCursor2
FETCH NEXT FROM MyCursor2 INTO @wf_b_id
WHILE @@FETCH_STATUS =0
BEGIN
set @wfid=(select wf_link_id from WF_TYPE_LINK_VALUE_TBL where link_value=@wf_b_id)
delete WF_TYPE_LINK_VALUE_TBL where link_value=@wf_b_id
delete WF_STEP_TBL where wf_id=@wfid
--这块也是
set @Sql = 'delete from '+@tablename+' where wf_b_id='''+@wf_b_id+''+''''
exec (@sql)
FETCH NEXT FROM MyCursor2 INTO @wf_b_id
END
CLOSE MyCursor2
DEALLOCATE MyCursor2
FETCH NEXT FROM MyCursor INTO @tablename
END
CLOSE MyCursor
DEALLOCATE MyCursor
end
drop table newtable