WebアプリケーションにOracle 11gを使用しています。既存のテーブルに列とコメントを追加したい。以下のコマンドで簡単にできます
ALTER TABLE product ADD product_description VARCHAR2(20)
そして
COMMENT ON COLUMN product.product_description
IS 'This is comment for the column';
しかし、単一のコマンドで上記のタスクを実行したいです。単一のコマンドで列とコメントを追加するコマンドをインターネットで検索しましたが、見つかりませんでした。これは可能かしら。ご提案をいただければ幸いです。
いいえ、できません。
必要になる理由はありません。これは1回限りの操作であるため、実際に入力して実行するのに1〜2秒しかかかりません。
Webアプリケーションに列を追加する場合、これはデータモデルの欠陥を示すものであり、実行する必要はありません。
コメントに対する応答として、コメントは列属性です。 seemの場合もありますが、Oracleはこれをobjectの属性として格納します。
SQL> desc sys.com$
Name Null? Type
----------------------------------------- -------- ----------------------------
OBJ# NOT NULL NUMBER
COL# NUMBER
COMMENT$ VARCHAR2(4000)
SQL>
列はオプションで、sys.col$
にはコメント情報が含まれていません。
これは、複数ではなくコメントを処理するシステムを1つだけにするために行われたものだと思います。
以下のクエリを使用して、作成済みのテーブルのコメントを更新または作成できます。
構文:
COMMENT ON COLUMN TableName.ColumnName IS 'comment text';
例:
COMMENT ON COLUMN TAB_SAMBANGI.MY_COLUMN IS 'This is a comment on my column...';
コメント付きの列を追加するクエリは次のとおりです。
alter table table_name
add( "NISFLAG" NUMBER(1,0) )
comment on column "ELIXIR"."PRD_INFO_1"."NISPRODGSTAPPL" is 'comment here'
commit;