InterSystems缓存SQL。检查表是否存在

时间:2011-11-03 14:15:23

标签: intersystems-cache

我可以使用什么SQL查询来检查表是否存在。

我需要支持不同版本的架构,而某些部署可能会错过某些表

1 个答案:

答案 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行。