簡體   English   中英

'REPLACE'附近的語法不正確

[英]Incorrect syntax near 'REPLACE'

以下SQL語句顯示了PRINT但使用EXEC的可靠結果,使我在'REPLACE'附近的語法不正確

USE EPDB

DECLARE @Table as nvarchar(100)
DECLARE @Column as nvarchar(100)
DECLARE @Select as nvarchar(375)
DECLARE @Where as nvarchar(275)

SET @Table = 'TableABC'
SET @Column = 'ColumnABC'`enter code here`
SET @Select = 'SELECT * FROM INFORMATION_SCHEMA.COLUMNS'
SET @Where = 'CRITERIA = ''VALUE'''


-- EXEC ('SELECT * FROM INFORMATION_SCHEMA.COLUMNSWHERETABLE_NAME = ' + @Table + '''')

PRINT @Select + ' WHERE ' + REPLACE(REPLACE(@Where,'CRITERIA','TABLE_NAME'),'VALUE',@Table)

EXEC (@Select + ' WHERE ' + REPLACE(REPLACE(@Where,'CRITERIA','TABLE_NAME'),'VALUE',@Table))

不知道這是怎么回事

嘗試這個:

DECLARE @sSQL varchar(1000)

SET @sSQL = @Select + ' WHERE ' + REPLACE(REPLACE(@Where,'CRITERIA','TABLE_NAME'),'VALUE',@Table)

EXEC (@sSQL)

我相信EXEC()接受字符串變量或字符串常量,但不接受組合。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM