2013-09-01 1 views
2

% dictionary.compiledclass를 사용하여 스키마 이름과 테이블 이름이있는 테이블을 얻을 수 있지만 그 존재를 쿼리 할 수는 있지만 컬럼에 대해 동일한 작업을 수행 할 수 없다는 것을 알았습니다. 컬럼이 존재하는지 여부를 확인하거나 LIKE "prefix %"를 사용하여 수많은 컬럼 이름을 검색하는 명령을 아직 찾지 못했습니다.Intersystems Cache SQL의 테이블에 열이 있는지 확인하는 방법은 무엇입니까?

그런 것이 있습니까? 또는 대안?

답변

1

해당 테이블의 % Dictionary.CompiledProperty 테이블과 SqlFieldName 열을 사용할 수 있습니다. 선택 * %의 dictionary.compiledproperty에서 부모 = 'TABLENAME'와 SqlFieldName = '의 ColumnName'

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

고마워요! 여기서 문제는 내가 테이블과 컬럼을 상관시킬 수 없다는 것입니다. 말하자면, 나는 하나 이상의 테이블에 "Content"컬럼을 가지고 있었고, "Content"는 존재하지만 어떤 테이블에는 존재하지 않는다고 말할 수있었습니다. –

+0

당신은 다음과 같은 종류의 질의를 할 수 있습니다 :'select parent-> SqlTableName from % dictionary.compiledproperty SqlFieldName = 'Column-name '' – adaptun

1

이 쿼리를 실행합니다 예를 들어 는이 쿼리를 사용하여 열 '의 ColumnName'를 가지고 테이블을 찾을 수 행 수 값 확인, 0이 없습니다