我想打印一些动态查询以在数据库中的所有表上执行一个过程。这是我到目前为止所写的 -
EXEC SP_MSFOREACHTABLE '
IF EXISTS(SELECT * FROM INFORMATION_SCHEMA.COLUMNS
WHERE COLUMN_NAME="EMAIL_S" AND TABLE_NAME=PARSENAME("?",1))
BEGIN
PRINT ''EXEC DROPCONSTANT @TBLNAME=''+PARSENAME("?",1)
+'', @FLDNAME=''''EMAIL_S'''' ''
PRINT CHAR(10)+CHAR(13)
END
'
输出不是我所期望的 -
EXEC DROPCONSTANT @TBLNAME=bill, @FLDNAME='EMAIL_S'
但我真正想要的是——
EXEC DROPCONSTANT @TBLNAME='bill', @FLDNAME='EMAIL_S'
最佳答案
您需要添加一堆 '
。
PRINT ''DROPCONSTANT @TBLNAME=''''''+PARSENAME("?",1)+'''''', @FLDNAME=''''EMAIL_S'''' ''