2011-05-06 164 views
0

我正在嘗試執行此查詢,但它打印@ TABLESQL11值但未執行。可以幫助任何人執行。sql查詢未執行

declare @maxCount int 

set @maxCount=3 

DECLARE @TABLESQL11 VARCHAR(4000) 

set @TABLESQL11='insert into temp11 ' 

set @[email protected]+ 'select attendeeid,Activities,date,time' 

DECLARE @j INT 

SET @j =1 

WHILE @j <[email protected] 

BEGIN 

    set @TABLESQL11 = @TABLESQL11+',q'+CONVERT(VARCHAR,@j)+',A'+CONVERT(VARCHAR,@j) 

     SET @j = @j+1 

END 
set @[email protected]+' from temp1' 

print @TABLESQL11 

exec (@TABLESQL11) 

在此先感謝。

回答

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. 你得到你忘了提(像有在temp11領域的#和SELECT語句之間的不匹配)
  3. 數據被插入一個錯誤到temp11但由於某種原因你沒有看到它
0

從我所能理解的代碼中,確保表temp1和temp11中都有適當的列。 q1,A1等

執行時,什麼是錯誤?

+0

它不是執行 – Sree 2011-05-06 17:16:31

0

集@ TABLESQL11 = @ TABLESQL11 + ' '+' 選擇attendeeid,活動,日期,時間'