我想做到這一點:傳遞一個臨時表到另一個存儲過程
DECLARE @TmpTable TABLE = select * from someTable where someTable.Column1='BLAH'
我需要@TmpTable
是的someTable
一個子集,我不希望與領域隱含聲明結構@TmpTable
,而是我希望它從someTable動態創建。
這是可能的嗎?
非常感謝您的幫助和指導!
我已經採取了建議嘗試臨時表。但是,我得到的錯誤:
The table #SubSet does not exist in the database
下面的代碼:
DECLARE @StartDT DATE
DECLARE @MinDOS DATE
SELECT @MinDOS = MIN(dos) FROM accn_demographics
SELECT @StartDT =
CAST(CAST(datepart(YYYY,@MinDOS) AS varchar) + '-' + CAST(datepart(mm,@MinDOS) AS varchar) + '-' + CAST('01' AS varchar) AS DATETIME)
DECLARE @FileLocation VARCHAR(50)
DROP TABLE #SubSet
WHILE @StartDT < '20110901'
BEGIN
SELECT *
INTO #SubSet
FROM ViewAccountDetail
WHERE datepart(yyyy,ViewAccountDetail.DOS) = datepart(yyyy,@StartDT)
AND datepart(mm,ViewAccountDetail.DOS) = datepart(mm,@StartDT)
SET @FileLocation='C:\test\'+'ViewAccountDetail'+cast(@StartDT as varchar)+'.csv'
EXEC BCP_Text_File #SubSet, @FileLocation
SET @StartDT = DATEADD(MONTH,1,@StartDT)
DROP TABLE #SubSet
END
使用時間上表 '選擇*到#TEMP其中someTable.Column1 ='BLAH'' 然後你可以使用#TEMP的廠名定爲@TmpTable –
可以請你告訴我我怎麼能做到這一點? –
對不起,正在編輯哈哈。你不需要聲明任何東西,你只需要插入 –