XMLWordPrintable

    • Type: Task
    • Resolution: Fixed
    • Priority: Major
    • Component/s: None
    • None

      [Overview]
      DBFLUTE-588の関連タスク

      表に列を追加する。

      [Specification]
      <Scope>
      A. テーブルのカラムを追加する。
      B. カラムを削除する。
      C. カラム名を変更する。
      D. カラムの型(サイズ)を変更する。
      E. テーブルの制約(PK, FK, UQ, Identity, Index)を付与する。
      F. テーブルの制約(PK, FK, UQ, Identity, Index)を削除する。
      G. テーブルの制約(PK, FK, UQ, Identity, Index)の内容を変更する。
      H. カラムの制約(NotNull, Default)を付与する。
      I. カラムの制約(NotNull, Default)を削除する。
      J. カラムの制約(NotNull, Default)の内容を変更する。

      <Basic>
      http://www.ocelot.ca/commands.htm

      ALTER TABLE table-name 
      ... ADD [COLUMN] column-name column-definition 
      ... ADD constraint-definition 
      ... ALTER [COLUMN] column-name SET 
      ... ALTER [COLUMN] column-name DROP 
      ... ALTER [COLUMN] column-name RESTART 
      ... DROP COLUMN column-name 
      ... DROP CONSTRAINT constraint-name 
      ... DROP FOREIGN KEY foreign-key-name 
      ... DROP PRIMARY KEY primary-key-name
      

      <MySQL>
      http://dev.mysql.com/doc/refman/5.1/ja/alter-table.html

      ALTER [IGNORE] TABLE tbl_name
          alter_specification [, alter_specification] ...
      
      alter_specification:
          table_option ...
        | ADD [COLUMN] column_definition [FIRST | AFTER col_name ]
        | ADD [COLUMN] (column_definition,...)
        | ADD {INDEX|KEY} [index_name] [index_type] (index_col_name,...)
        | ADD [CONSTRAINT [symbol]]
              PRIMARY KEY [index_type] (index_col_name,...)
        | ADD [CONSTRAINT [symbol]]
              UNIQUE [INDEX|KEY] [index_name] [index_type] (index_col_name,...)
        | ADD FULLTEXT [INDEX|KEY] [index_name] (index_col_name,...)
            [WITH PARSER parser_name]
        | ADD SPATIAL [INDEX|KEY] [index_name] (index_col_name,...)
        | ADD [CONSTRAINT [symbol]]
              FOREIGN KEY [index_name] (index_col_name,...)
              [reference_definition]
        | ALTER [COLUMN] col_name {SET DEFAULT literal | DROP DEFAULT}
        | CHANGE [COLUMN] old_col_name column_definition
              [FIRST|AFTER col_name]
        | MODIFY [COLUMN] column_definition [FIRST | AFTER col_name]
        | DROP [COLUMN] col_name
        | DROP PRIMARY KEY
        | DROP {INDEX|KEY} index_name
        | DROP FOREIGN KEY fk_symbol
        | DISABLE KEYS
        | ENABLE KEYS
        | RENAME [TO] new_tbl_name
        | ORDER BY col_name [, col_name] ...
        ...
      

      o table_optionの中でAUTO_INCREMENT(Identity)の指定が可能。

      <PostgreSQL>
      http://www.postgresql.jp/document/pg721doc/reference/sql-altertable.html

      ALTER TABLE [ ONLY ] table [ * ]
          ADD [ COLUMN ] column type [ column_constraint [ ... ] ]
      ALTER TABLE [ ONLY ] table [ * ]
          ALTER [ COLUMN ] column { SET DEFAULT value | DROP DEFAULT }
      ALTER TABLE [ ONLY ] table [ * ]
          ALTER [ COLUMN ] column SET STATISTICS integer
      ALTER TABLE [ ONLY ] table [ * ]
          RENAME [ COLUMN ] column TO newcolumn
      ALTER TABLE table
          RENAME TO new_table
      ALTER TABLE table
          ADD table_constraint_definition
      ALTER TABLE [ ONLY ] table 
      	DROP CONSTRAINT constraint { RESTRICT | CASCADE }
      ALTER TABLE table
      	OWNER TO new_owner
      

      <Oracle>

      <DB2>

      <SQLServer>

      <H2>
      http://www.h2database.com/html/grammar.html?highlight=alter&search=alter#firstFound

      ALTER TABLE ADD
      ALTER TABLE ADD CONSTRAINT
      ALTER TABLE ALTER
      ALTER TABLE DROP COLUMN
      ALTER TABLE DROP CONSTRAINT
      ALTER TABLE SET
      ALTER TABLE RENAME
      

      <Derby>

      http://db.apache.org/derby/docs/dev/ja_JP/ref/rrefsqlj81859.html
      ALTER TABLE 表名
      {
          ADD COLUMN 列定義 |
          ADD CONSTRAINT節 |
          DROP [ COLUMN ] 列名 [ CASCADE | RESTRICT ]
          DROP { PRIMARY KEY | FOREIGN KEY 制約名 | UNIQUE 
      	 制約名 | CHECK 制約名 | CONSTRAINT 制約名 }
          ALTER [ COLUMN ] 列定義変更 |
          LOCKSIZE { ROW | TABLE }
      }
      

            Assignee:
            jflute
            Reporter:
            jflute
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

              Created:
              Updated:
              Resolved: