EXEC @sql使用臨時表我有它們作爲下面的一個存儲過程和部分: @DRange是一個呼入VARCHAR值在存儲過程
declare @sql varchar(max)
set @sql = 'select * into #tmpA from TableA where create_date >= getDate - ' + @DRange + '' and is_enabled = 1'
exec (@sql)
select * from #tmpA
問題是,當我執行存儲過程,會出現錯誤消息: 找不到對象「#tmpA」,因爲它不存在或您沒有權限。
是不是可以使用臨時表並執行它或我做錯了什麼?
爲什麼使用動態SQL?你不能有一個普通的查詢'select * into Tablet from TableA where create_date> = getDate - @ DRange and is_enabled = 1'? Covert @DRange根據需要分爲不同類型 –
因爲我需要將其他參數(如數據庫名稱)合併到查詢中。 –