declare @strsql nvarchar(2000)
declare @strsqlwhere nvarchar(1000)set @strsql='select * from ... '
set @strsqlwhere='...'
set @strsql=@strsql+' where '+@strsqlwhereexec (@strsql)
declare @strsqlwhere nvarchar(1000)set @strsql='select * from ... '
set @strsqlwhere='...'
set @strsql=@strsql+' where '+@strsqlwhereexec (@strsql)
...
)
declare @strsql nvarchar(2000)
declare @strsqlwhere nvarchar(1000) set @strsql=''insert into #temp1 select * from ... '
set @strsqlwhere='...'
set @strsql=@strsql+' where '+@strsqlwhere exec (@strsql)
@someFilter varchar(50)
AS
declare @mySql varchar(1024) --1.定义临时表
IF object_id('tempdb..#tmpCustomer') IS NOT NULL
DROP TABLE #tmpCustomer
CREATE TABLE #tmpCustomer(
[CustomerNo] [CHAR] (6),
[OrderNo] [CHAR] (12)
) ON [PRIMARY] --2.写入临时表
set @mySql='INSERT INTO #tmpCustomer(CustomerNo,OrderNo) '
set @mySql=mySql + 'Select a.CuatomerNo,b.OderNo FROM ...'''+@someFilter+'''
EXEC(@mySql) --3.操作临时表
...