在我的程序中,我使用值加载声明的变量,然后尝试将变量放入临时表中。我这样做:
select cast(@rec_cnt as varchar(5), @tbl_name
INTO #TEMP_TBL_DUP_CNT
但继续收到msg:''附近的语法不正确。也就是说,当我尝试执行proc时,列之间的逗号导致问题。这句话有什么问题?
我检查过临时表并不存在,因为它无论如何都不应该存在。
我刚刚运行了一个类似的查询,将表数据加载到临时表中,并且运行正常。我是否可以不直接使用声明的变量值,如果是这样,我该怎么办?
编辑:还想问一下如何查询这个临时表。我知道我需要在SP的范围内进行,我可以将所有结果加载到哪个变量中?我以为我需要从临时表中选择变量然后打印?
由于
安德鲁
答案 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