验证SQL查询返回的列(名称和数量)

时间:2013-01-25 16:29:34

标签: sql-server sql-server-2008 tsql

我的程序的第三部分插件执行SQL查询(主要是select)。这些查询必须返回默认的列顺序和数量,例如:

PACKAGEID (guid), REFDATE (datetime), MODIFYDATE (datetime), PROG (int)

有时会发生某些查询忽略上面指定的列之一。为了避免程序中的进一步错误,我会执行一种检查,以确保执行的每个查询都返回默认列。 我已经使用了SQL语法SET NOEXEC ONSET NOEXEC OFF,在这种情况下也可能有用。我目前正在使用SQL SERVER 2008。 任何提示?

1 个答案:

答案 0 :(得分:1)

如果您能够将结果集放入临时表中,则可以使用以下内容轻松计算表的列数:

Select * 
From tempdb.Information_Schema.COLUMNS 
where TABLE_NAME like '%#temptable%'