SET @DynamicSQL = 'UPDATE U SET U.ADDRESS1 = U.ADDRESS2, U.ADDRESS2 = NULL FROM USER U INNER JOIN EMPOYEE E ON E.USER_ID = U.USER_ID WHERE U.TYPE = ''' + @TYPE + ''''
EXEC(@DynamicSQL)
PRINT @DynamicSQL
我在存儲過程中創建動態sql,如上所示,現在當它在SP中執行時,它會打印正確的sql,但在EXEC上更新的行是'0'。但是,當我嘗試執行在SP中打印sql所生成的sql時,它顯示我已更新150行。EXEC內部更新查詢不更新數據?
現在什麼可能是EXEC無法更新行,並直接調用PRINTED SQL呢?
我在更新查詢中使用了「FROM USER U」,但是如果我直接複製並執行它,PRINT(@DynamicSql)生成的輸出會執行並更新行。 – 2010-08-26 08:18:00