【发布时间】:2019-08-05 17:33:30
【问题描述】:
我有一个包含表名列表的临时表 我需要遍历这些表以查看该列是否存在。如果没有,则打印出它不存在的表
目前为止
CREATE TABLE #ListOfTables (
[TableName] varchar(max)
)
INSERT INTO #ListOfTables
([TableName])
(SELECT TableName from dbo.CustomTableAttributes)
-- Statement
DECLARE @stm nvarchar(max)
SET @stm = N''
IF EXISTS(SELECT 1 FROM sys.columns
WHERE Name = N'BegDt'
Errors Here --> AND Object_ID = Object_ID(N''+ ***Select [TableName] FROM #ListOfTables*** +''))
Begin
'Do Work here'
End
【问题讨论】:
-
这似乎过于复杂。您应该能够加入系统表和列列表以返回系统表中表列表中没有该列名的结果
-
Errors Here ...请显示错误信息。
-
@Sami 它只是说语法不正确
-
如果只需要打印表格的值,为什么不使用
FOR XML PATH或STRING_AGG生成列表并将值设置为变量,然后打印变量的值?
标签: sql-server tsql except ssms-2016