我正在尝试执行此查询,但它打印@TABLESQL11值但未执行。可以执行任何帮助。
declare @maxCount int
set @maxCount=3
DECLARE @TABLESQL11 VARCHAR(4000)
set @TABLESQL11='insert into temp11 '
set @TABLESQL11=@TABLESQL11+ 'select attendeeid,Activities,date,time'
DECLARE @j INT
SET @j =1
WHILE @j <=@maxCount
BEGIN
set @TABLESQL11 = @TABLESQL11+',q'+CONVERT(VARCHAR,@j)+',A'+CONVERT(VARCHAR,@j)
SET @j = @j+1
END
set @TABLESQL11=@TABLESQL11+' from temp1'
print @TABLESQL11
exec (@TABLESQL11)
提前致谢。
答案 0 :(得分:4)
当您运行除Exec之外的所有操作时,您将获得以下内容(格式为Instant SQL Formatter)
INSERT INTO temp11
SELECT attendeeid,
activities,
DATE,
TIME,
q1,
a1,
q2,
a2,
q3,
a3
FROM temp1
声明中没有任何内容表明存在SQL语法问题。这使得人们得出结论,问题是以下之一。
答案 1 :(得分:0)
根据我对所提供代码的理解,确保表temp1和temp11中都存在正确的列。 q1,A1等
执行时,错误是什么?
答案 2 :(得分:0)
设置@ TABLESQL11 = @ TABLESQL11 +''+'选择参与者,活动,日期,时间'