Oracle에서 SQL을 통해 테이블 주석을 얻는 방법은 무엇입니까?
해봤어요.
select * from user_tab_comments;
세 개의 열 "TABLE_NAME", "TABLE_TYPE" 및 "COMMATION"을 반환하지만 "TABLE_NAME" 열은 "암호화됨"과 같으므로 명확한 테이블 이름이 필요합니다.
TABLE_NAME TABLE_TYPE COMMENTS
BIN$IN1vjtqhTEKcWfn9PshHYg==$0 TABLE Résultat d'intégration d'une photo numérisée
BIN$PUwG3lb3QoazOc4QaC1sjw==$0 TABLE Motif de fin d'agrément de maître de stage
사용할 때select * from user_tables;
TABLE_NAME이 "암호화"되지 않았습니다.
10g Oracle은 DROP TABLE 문을 발행할 때 테이블을 즉시 드롭하지 않기 때문입니다.대신 이름을 이렇게 다시 짓습니다.BIN$IN1vjtqhTEKcWfn9PshHYg==$0
그리고 그것들을 휴지통에 넣습니다.이렇게 하면 떨어뜨릴 의도가 없었던 테이블을 복구할 수 있습니다.자세히 알아보세요.
휴지통의 테이블은 여전히 테이블이므로 ALL_TABLES 및 유사한 보기에 표시됩니다.따라서 실시간(삭제되지 않은) 테이블에만 관련된 주석을 표시하려면 테이블 이름으로 필터링해야 합니다.
select * from all_tab_comments
where substr(table_name,1,4) != 'BIN$'
/
"플래그 컬럼이 없어서 당신이 할 수 있었다는 것이 믿기지 않습니다. 그리고 is_flag = 0인가 뭔가입니다."
네 말이 맞아요, 정말 대단할 것 같아요.문서를 확인한 결과 Oracle 10g은 USER_/ALL_/ALL_DABLES_TABLES 보기에 DROPD라는 열을 추가했습니다.
select tc.*
from all_tab_comments tc
join all_tables t
on tc.owner = t.owner
and tc.table_name = t.table_name
where t.dropped = 'NO'
/
설명서를 확인하십시오.분명히 ALL_TABLES 보기에 참여하려면 이름을 필터링하는 것보다 더 많은 입력이 필요하므로 필요에 따라 원래 WHERE 절을 유지하는 것이 더 쉬울 수 있습니다.
USER_TAB_COMments에서 t.table_name,t.dll을 선택합니다. 여기서 TABLE_NAME = 'SS_DEPT';
언급URL : https://stackoverflow.com/questions/16567129/how-to-get-table-comments-via-sql-in-oracle
'source' 카테고리의 다른 글
드롭...작성 대 변경 (0) | 2023.07.10 |
---|---|
Javascript 내에서 테마 색상 배열 검색 (0) | 2023.07.10 |
Azure에서 Amazon RDS의 Postgres 데이터베이스에 연결하는 시간 초과 (0) | 2023.07.10 |
fatal: git-write-tree: 트리 작성 오류 (0) | 2023.07.10 |
GitHub에서 다른 사람의 코드에 기여하려면 어떻게 해야 합니까? (0) | 2023.07.05 |