私はこれをしたい:
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