サンプルDDL (コメント情報)

当ツールでも利用可能な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'
      ;
      
  • 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'
      ;