sp_MSforeachtable 在每个表上执行过程 [英] sp_MSforeachtable to execute procedure on each table
本文介绍了sp_MSforeachtable 在每个表上执行过程的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我想打印一些动态查询以在数据库中的所有表上执行一个过程.这是我到目前为止所写的 -
I want to print some dynamic query to execute a procedure on all tables in the database. This is what I've written so far -
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
'
输出不是我所期望的 -
The output is not what I expect it to be -
EXEC DROPCONSTANT @TBLNAME=bill, @FLDNAME='EMAIL_S'
但我真正想要的 -
EXEC DROPCONSTANT @TBLNAME='bill', @FLDNAME='EMAIL_S'
推荐答案
需要添加一堆'
.
PRINT ''DROPCONSTANT @TBLNAME=''''''+PARSENAME("?",1)+'''''', @FLDNAME=''''EMAIL_S'''' ''
这篇关于sp_MSforeachtable 在每个表上执行过程的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文