programing

열 주석이 있는 Oracle 테이블 생성

css3 2023. 7. 29. 08:50

열 주석이 있는 Oracle 테이블 생성

테이블 만들기 문(예: 인라인)에서 열을 선언하는 위치에 열 주석을 직접 지정할 수 있는 열 주석 구문이 있습니까?11g 스펙에는 아무런 언급이 없고, 다른 페이지에 무언가가 언급되었지만 작동하지 않았습니다.표를 작성한 후 주석을 지정하는 방법이 있는데, 주석이 필드 정의와 분리되어 있어서 귀찮다고 생각합니다.다음과 같은 것을 찾고 있습니다(작동하지 않음).

create table whatever (
 field number(15,0) primary key comment 'primary key generated from sequence pkseq',
 ...
)

유감스럽게도 "짜증나는" 것은COMMENT ON구문이 유일한 방법입니다.SQL Server, PostgreSQL과 DB2는 동일한 구문을 사용합니다(데이터베이스 개체에 주석을 추가하는 ANSI 표준 구문은 없는 것으로 알고 있음).

MySQL은 사용자가 원하는 방식으로 작동할 수 있도록 지원합니다.더 나은 메커니즘이 될 것이라는 데는 동의하지만, 제 경험상 댓글을 사용하는 사람이 너무 적어서 Oracle이 이를 바꿀 수 있을지 의심스럽습니다.

죄송합니다만 테이블을 만든 후에만 가능합니다.comment on column ... is ''통사론

이 성가신 구문에 대한 해결 방법은 Oracle SQL Explorer에서 테이블을 보고 편집하는 것입니다.여기에는 열 바로 옆의 주석을 편집할 수 있는 마법사가 포함되어 있습니다.또한 대체 가능한 스크립트를 쉽게 만들 수 있습니다.

테이블을 편집할 때 수행하는 절차는 실제로 변경 내용을 실행하지 않고 마법사에 변경 내용을 입력한 다음 해당 항목으로 이동하는 것입니다.DDL전체 생성 스크립트가 아닌 업데이트로 SQL을 검색하고 마법사에서 취소를 누릅니다.그리고 작성한 SQL을 작성 중인 SQL 스크립트에 넣습니다.스크립트를 완료한 후에만 모든 작업을 실행합니다. 마법사 자체를 변경하지 않습니다.

sqlplus(또는 유사)에서 테스트하지만 구문은 다음과 같습니다.

-- assuming you have privileges
COMMENT ON COLUMN SCHEMA1.TABLE1.COL1 
  IS 'My comment'

-- then you can double check like this
SELECT * FROM all_col_comments WHERE 
  (OWNER, TABLE_NAME, COLUMN_NAME) 
  IN (('SCHEMA1','TABLE1','COL1'));

해당 테이블의 속성을 다시 열 때까지 SQL Developer(또는 Toad 또는 사용자가 가지고 있는 모든 환경)에 주석이 표시됩니다.

유사한 구문을 사용하여 테이블, 인덱스 및 구체화된 뷰에 주석을 달 수 있습니다.[출처: https://docs.oracle.com/cd/B19306_01/server.102/b14200/statements_4009.htm ]

MySQL 등에 대해 유사한 구문이 존재하는 것으로 알고 있지만, 적절한 ANSI가 아닙니다.하지만 매우 유용합니다.

언급URL : https://stackoverflow.com/questions/10516284/oracle-create-table-with-column-comments