19

私はストアド プロシージャとその一部を以下のように持っています: @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" が存在しないか権限がないため、見つかりません。

一時テーブルを使用して実行することはできませんか、それとも何か間違ったことをしましたか?

4

2 に答える 2

3

これが私がすることです。

declare @sql varchar(max)

set @sql = 'select * from TableA where create_date >= getDate - ' + @DRange + '' and is_enabled = 1'

Select * Into #tmpA from TableA where create_date = '01/01/1000' -- to create a blank table

insert into #tmpA

exec (@sql)

select * from #tmpA
于 2017-08-18T05:41:20.233 に答える