选择@Var到临时表

时间:2017-05-05 08:12:37

标签: sql-server variables stored-procedures temp-tables

在我的程序中,我使用值加载声明的变量,然后尝试将变量放入临时表中。我这样做:

select cast(@rec_cnt as varchar(5), @tbl_name
INTO #TEMP_TBL_DUP_CNT

但继续收到msg:''附近的语法不正确。也就是说,当我尝试执行proc时,列之间的逗号导致问题。这句话有什么问题?

我检查过临时表并不存在,因为它无论如何都不应该存在。

我刚刚运行了一个类似的查询,将表数据加载到临时表中,并且运行正常。我是否可以不直接使用声明的变量值,如果是这样,我该怎么办?

编辑:还想问一下如何查询这个临时表。我知道我需要在SP的范围内进行,我可以将所有结果加载到哪个变量中?我以为我需要从临时表中选择变量然后打印?

由于

安德鲁

2 个答案:

答案 0 :(得分:1)

您错过了cast上的右括号:

                                  |
                                  v
select cast(@rec_cnt as varchar(5)), @tbl_name
INTO #TEMP_TBL_DUP_CNT

答案 1 :(得分:0)

试试这个

DECLARE     
    @rec_cnt INT=1,
    @tbl_name INT=2

IF OBJECT_ID('tempdb..#TEMP_TBL_DUP_CNT') IS NOT NULL
    Drop table #TEMP_TBL_DUP_CNT

CREATE table #TEMP_TBL_DUP_CNT(rec_cnt  varchar(5),tbl_name varchar(5))
    INSERT INTO #TEMP_TBL_DUP_CNT
    SELECT cast(@rec_cnt as varchar(5)), @tbl_name