加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

sql – Oracle创建表AS和表注释和列注释

发布时间:2020-12-12 16:27:00 所属栏目:MsSql教程 来源:网络整理
导读:是否可以创建另一个表作为CREATE TABLE AS并保留列的注释? CREATE TABLE TABLE1_COPY AS SELECT * FROM TABLE1; 前面的语句不包括列的注释.因此,TABLE1_COPY没有列的注释.使用USER_COL_COMMENTS是在我新创建的表上重现相同注释的唯一方法吗? 解决方法 As fo
是否可以创建另一个表作为CREATE TABLE AS并保留列的注释?

CREATE TABLE TABLE1_COPY AS SELECT * FROM TABLE1;

前面的语句不包括列的注释.因此,TABLE1_COPY没有列的注释.使用USER_COL_COMMENTS是在我新创建的表上重现相同注释的唯一方法吗?

解决方法

As for DMBS_METADATA.GET_DDL it doesn’t seem to genereate COMMENT ON
COLUMN statements unless I am missing some properties.

一种方法是将dbms_metadata.get_dependent_ddl与dbms_metadata.get_ddl结合使用

以下是使用SQL plus创建的示例:

SQL> set long 1000000

SQL> create table t (x number);

Table created.

SQL> comment on column T.X IS 'this is the column comment';

Comment created.

SQL> comment on table T IS 'this is the table comment';

Comment created.

SQL> SELECT dbms_metadata.get_ddl( 'TABLE','T' ) || ' ' ||
  2         dbms_metadata.get_dependent_ddl( 'COMMENT','T',USER ) the_ddl
  3  FROM dual
  4  /

THE_DDL
--------------------------------------------------------------------------------

  CREATE TABLE "SCOTT"."T"
   (    "X" NUMBER
   ) SEGMENT CREATION DEFERRED
  PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 NOCOMPRESS LOGGING
  TABLESPACE "USERS"

   COMMENT ON COLUMN "SCOTT"."T"."X" IS 'this is the column comment'

   COMMENT ON TABLE "SCOTT"."T"  IS 'this is the table comment'

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读