Getting Foreign and Primary Key syntax from the Database

00.Anyone Asked

USER_DEPENDENCIES IS NOT GIVING THE INFORMATION FOR TABLES.

ALTER TABLE EMP ADD
(CONSTRAINT PK_EMP PRIMARY KEY (EMPNO))
/
ALTER TABLE EMP ADD
(CONSTRAINT FK_DEPTNO FOREIGN KEY (DEPTNO)
REFERENCES DEPT (DEPTNO))
/

01.Tom Said

user_constraints would be the place I would look for constraints. user_dependencies -- well, that I would use to see who relies on who.

itpux@orcl(PRIMARY)> begin
  dbms_metadata.set_transform_param
  ( DBMS_METADATA.SESSION_TRANSFORM, 'CONSTRAINTS_AS_ALTER', true );
  dbms_metadata.set_transform_param
  ( DBMS_METADATA.SESSION_TRANSFORM, 'STORAGE', false );
  dbms_metadata.set_transform_param
  ( DBMS_METADATA.SESSION_TRANSFORM, 'SQLTERMINATOR', TRUE );
  end;
  /

PL/SQL procedure successfully completed.

Elapsed: 00:00:00.24

02.Getting Foreign and Primary Key

itpux@orcl(PRIMARY)>  select dbms_metadata.get_ddl( 'TABLE', 'EMP' ) from dual;

DBMS_METADATA.GET_DDL('TABLE','EMP')
--------------------------------------------------------------------------------

  CREATE TABLE "ITPUX"."EMP"
   (    "EMPNO" NUMBER(4,0),
        "ENAME" VARCHAR2(10),
        "JOB" VARCHAR2(9),
        "MGR" NUMBER(4,0),
        "HIREDATE" DATE,
        "SAL" NUMBER(7,2),
        "COMM" NUMBER(7,2),
        "DEPTNO" NUMBER(2,0)
   ) SEGMENT CREATION IMMEDIATE
  PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255
 NOCOMPRESS LOGGING
  TABLESPACE "ITPUX" ;
ALTER TABLE "ITPUX"."EMP" ADD CONSTRAINT "PK_EMP" PRIMARY KEY ("EMPNO")
  USING INDEX PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS
  TABLESPACE "ITPUX"  ENABLE;
ALTER TABLE "ITPUX"."EMP" ADD CONSTRAINT "FK_DEPTNO" FOREIGN KEY ("DEPTNO")
          REFERENCES "ITPUX"."DEPT" ("DEPTNO") ENABLE;


Elapsed: 00:00:03.39

参考文档:
https://asktom.oracle.com/pls/apex/f?p=100:11:0::::P11_QUESTION_ID:7490088329317

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容