如何检查Intersystems Cache SQL中的表中是否存在列?

时间:2013-09-01 12:15:26

标签: intersystems-cache intersystems

我注意到虽然我可以使用%dictionary.compiledclass来获取一个包含模式名称和表名的表,这样可以查询它们的存在,但我不能对列进行相同的操作。我还没有找到允许验证列是否存在的命令,或者使用LIKE“prefix%”检索大量列名。

甚至有这样的事吗?还是另类?

2 个答案:

答案 0 :(得分:1)

您可以使用该表的%Dictionary.CompiledProperty表和SqlFieldName列。 例如,要查找具有列“ColumnName”的表,您可以使用此查询:

select parent->SqlTableName 
from %dictionary.compiledproperty 
where SqlFieldName='ColumnName'

答案 1 :(得分:1)

执行此查询: select * from%dictionary.compiledproperty其中parent ='TableName'和SqlFieldName ='ColumnName' 检查行计数值,0不存在