sql查询未执行

时间:2011-05-06 16:53:30

标签: sql sql-server

我正在尝试执行此查询,但它打印@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)

提前致谢。

3 个答案:

答案 0 :(得分:4)

当您运行除Exec之外的所有操作时,您将获得以下内容(格式为Instant SQL Formatter

INSERT INTO temp11 
SELECT attendeeid, 
       activities, 
       DATE, 
       TIME, 
       q1, 
       a1, 
       q2, 
       a2, 
       q3, 
       a3 
FROM   temp1 

声明中没有任何内容表明存在SQL语法问题。这使得人们得出结论,问题是以下之一。

  1. temp1
  2. 中没有数据
  3. 您收到的错误是您忘记提及的(例如,temp11和select语句中的字段数不匹配)
  4. 数据正被插入temp11但由于某种原因你没有看到它

答案 1 :(得分:0)

根据我对所提供代码的理解,确保表temp1和temp11中都存在正确的列。 q1,A1等

执行时,错误是什么?

答案 2 :(得分:0)

设置@ TABLESQL11 = @ TABLESQL11 +''+'选择参与者,活动,日期,时间'