任何人都可以帮助解决我遇到的问题。对于我正在使用的软件,它不会接受临时表,除非创建并插入表,就像我尝试过这样。
在我放入创建表并插入到表之前它工作正常但是当我尝试这个时它表示该表已经存在。
任何人都可以看到我做错了什么并且可以提出建议,这是我临时表中的变量让我失望。
declare @bt_id varchar(20) = '110';
declare @ms_id varchar(20) = '2';
declare @sqlstr varchar(max) = '';
if object_id('tempdb..#measure_raw') is not null
drop table #measure_raw
CREATE TABLE #measure_raw(
meas_id INT,
column_name VARCHAR (255),
vlu_txt VARCHAR (255),
batch_id INT,
row_num INT,
)
insert into #measure_raw
set @sqlstr = 'select det.meas_id,col.tbl_nm+''.''+col.logged_nm as column_name, det.vlu_txt, det.batch_id, '
+ 'case when (det.row_num is null) then 1 else det.row_num end as row_num '
+ 'into #measure_raw from detail_t det '
+ 'inner join column_t col on col.col_id=det.col_id inner join measure_t rul on rul.meas_id=det.meas_id '
+ 'where det.batch_id = ' + @bt_id + ' '
if @ms_id <> '0'
set @sqlstr = @sqlstr + 'and det.meas_id = ' + @ms_id + ' '
set @sqlstr = @sqlstr + 'order by '
+ 'det.batch_id, det.meas_id, det.row_num, col.tbl_nm, col.logged_nm'
exec(@sqlstr)