当ツールでも利用可能なDBコメントのDDLサンプルです。
それぞれデータベース別に載せますのでご参考に。
- MySQL ( MariaDB )
- テーブル / コメント ※MySQL(MariaDB)は CREATE TABLE文でコメントをセット
DROP TABLE TBL_1; CREATE TABLE TBL_1 ( CODE_1 CHAR(2) NOT NULL COMMENT 'コード1' ,NAME_1 VARCHAR(50) COMMENT '名前1' ,CONSTRAINT PK_TBL_1 PRIMARY KEY(CODE_1) ) COMMENT = 'テストテーブル1';
- 確認
select COLUMN_NAME ,COLUMN_COMMENT from INFORMATION_SCHEMA.COLUMNS where TABLE_NAME = 'TBL_1' ;
- テーブル / コメント ※MySQL(MariaDB)は CREATE TABLE文でコメントをセット
- PostgreSQL
- テーブル
DROP TABLE TBL_1; CREATE TABLE TBL_1 ( CODE_1 CHAR(2) NOT NULL ,NAME_1 VARCHAR(50) ,CONSTRAINT PK_TBL_1 PRIMARY KEY(CODE_1) );
- テーブルコメント
COMMENT ON TABLE TBL_1 IS 'テストテーブル1';
- カラムコメント
COMMENT ON COLUMN TBL_1.CODE_1 IS 'コード1'; COMMENT ON COLUMN TBL_1.NAME_1 IS '名前1';
- 確認
select T1.column_name ,T5.description as COLUMN_COMMENT from information_schema.columns T1 inner join pg_stat_user_tables T2 on T1.table_name = T2.relname left join pg_description T5 on T2.relid = T5.objoid and T1.ordinal_position = T5.objsubid and T5.objsubid <> 0 where T1.table_name = 'tbl_1' ;
- テーブル
- Oracle
- テーブル
DROP TABLE TBL_1; CREATE TABLE TBL_1 ( CODE_1 CHAR(4) NOT NULL ,NAME_1 VARCHAR2(80) ,CONSTRAINT PK_TBL_1 PRIMARY KEY(CODE_1) );
- テーブルコメント
COMMENT ON TABLE TBL_1 IS 'テストテーブル1';
- カラムコメント
COMMENT ON COLUMN TBL_1.CODE_1 IS 'コード1'; COMMENT ON COLUMN TBL_1.NAME_1 IS '名前1';
- 確認
select COLUMN_NAME ,COMMENTS from USER_COL_COMMENTS where TABLE_NAME = 'TBL_1' ;
- テーブル
- SQL Server
- テーブル
DROP TABLE TBL_1; CREATE TABLE TBL_1 ( CODE_1 CHAR(4) NOT NULL ,NAME_1 VARCHAR(80) ,CONSTRAINT PK_TBL_1 PRIMARY KEY(CODE_1) );
- テーブルコメント
EXEC sys.sp_addextendedproperty @name=N'MS_Description' ,@level0type=N'SCHEMA' ,@level0name=N'dbo' ,@level1type=N'TABLE' ,@level1name=N'TBL_1' ,@value=N'テストテーブル1' ;
- カラムコメント
EXEC sys.sp_addextendedproperty @name=N'MS_Description' ,@level0type=N'SCHEMA' ,@level0name=N'dbo' ,@level1type=N'TABLE' ,@level1name=N'TBL_1' ,@level2type=N'COLUMN' ,@level2name=N'CODE_1' ,@value=N'コード1' ; EXEC sys.sp_addextendedproperty @name=N'MS_Description' ,@level0type=N'SCHEMA' ,@level0name=N'dbo' ,@level1type=N'TABLE' ,@level1name=N'TBL_1' ,@level2type=N'COLUMN' ,@level2name=N'NAME_1' ,@value=N'名前1' ;
- 確認
select t2.name as col_name ,t3.value comment from sys.tables t1 inner join sys.columns t2 on t1.object_id = t2.object_id left join sys.extended_properties t3 on t2.object_id = t3.major_id and t2.column_id = t3.minor_id where t1.name = 'TBL_1' ;
- テーブル