我可以使用什么SQL查询来检查表是否存在。
我需要支持不同版本的架构,而某些部署可能会错过某些表
答案 0 :(得分:1)
如果它们是缓存表,您可以使用%Dictionary.CompiledClass
系统表。
select id from %Dictionary.CompiledClass where SqlSchemaName='%BI' and SqlTableName='Alerts'
或者,如果您知道表的缓存类名称,
select id from %Dictionary.CompiledClass where ID='%BI.Alerts'
如果表%BI.Alerts存在,这些查询将返回1行。