存储过程查看全部信息

存储过程查看所有信息创建一个存储过程查看一个表所有信息举例不要复制粘贴来[解决办法]DECLAREV_TABLENAM

存储过程查看所有信息
创建一个存储过程查看一个表所有信息

举例
不要复制粘贴来
[解决办法]


DECLARE
   V_TABLENAME VARCHAR2(100):='EMP';
   V_SQL VARCHAR2(4000);
BEGIN
    DBMS_OUTPUT.PUT_LINE('建表语句如下:'
[解决办法]
'==>');
    SELECT DBMS_METADATA.GET_DDL('TABLE',V_TABLENAME) INTO  V_SQL   FROM DUAL;
    DBMS_OUTPUT.PUT_LINE(V_SQL);
    
    DBMS_OUTPUT.PUT_LINE('表的字段信息如下:'
[解决办法]
'==>');
        DBMS_OUTPUT.PUT_LINE('表名称'
[解决办法]
'     '
[解决办法]
'表注释'
[解决办法]
'     '
[解决办法]
'字段名称'
[解决办法]
'     '
[解决办法]
'字段注释'
[解决办法]
'     '
[解决办法]
'字段类型'
[解决办法]
'     '
[解决办法]
'字段长度'
[解决办法]
'     '
[解决办法]
'是否为空');
    FOR I IN (
    SELECT a.TABLE_NAME,c.COMMENTS AS TCOMMENTS,a.COLUMN_NAME,b.commentS AS CCOMMNETS,a.DATA_TYPE,      DECODE(a.DATA_TYPE,'CHAR',a.CHAR_LENGTH,'VARCHAR2',a.CHAR_LENGTH,'NUMBER',a.DATA_PRECISION)
[解决办法]
DECODE(a.DATA_TYPE,'NUMBER',','
[解决办法]
a.DATA_SCALE) as length,
       NULLABLE
 FROM (SELECT TABLE_NAME,COLUMN_NAME,DATA_TYPE,DATA_PRECISION,DATA_SCALE,COLUMN_ID,NULLABLE,CHAR_LENGTH FROM USER_TAB_COLUMNS WHERE 1 = 1 ORDER BY TABLE_NAME) a,
      (SELECT * FROM USER_COL_COMMENTS) b,
      (SELECT * FROM USER_tab_COMMENTS) c
 WHERE a.COLUMN_NAME = b.COLUMN_NAME
  AND a.TABLE_NAME  = b.TABLE_NAME
  AND a.TABLE_NAME  = c.TABLE_NAME
  AND A.TABLE_NAME = V_TABLENAME
  ORDER BY a.TABLE_NAME,a.COLUMN_ID
    ) LOOP
    DBMS_OUTPUT.PUT_LINE(I.TABLE_NAME
------解决方案--------------------


'     '
[解决办法]
I.TCOMMENTS
[解决办法]
'     '
[解决办法]
I.COLUMN_NAME
[解决办法]
'     '
[解决办法]
I.CCOMMNETS
[解决办法]
'     '
[解决办法]
I.DATA_TYPE
[解决办法]
'     '
[解决办法]
I.LENGTH
[解决办法]
'     '
[解决办法]
I.NULLABLE);
    END LOOP;
   
END;



结果如下:
建表语句如下:==>

  CREATE TABLE "SCOTT"."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), 
 CONSTRAINT "PK_EMP" PRIMARY KEY ("EMPNO")
  USING INDEX PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS 
  TABLESPACE "USERS"  ENABLE, 
 CONSTRAINT "FK_DEPTNO" FOREIGN KEY ("DEPTNO")
  REFERENCES "SCOTT"."DEPT" ("DEPTNO") ENABLE
   ) SEGMENT CREATION IMMEDIATE 
  PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 NOCOMPRESS LOGGING
  TABLESPACE "USERS" 
 
表的字段信息如下:==>
表名称     表注释     字段名称     字段注释     字段类型     字段长度     是否为空
EMP          EMPNO          NUMBER     4,0     N
EMP          ENAME          VARCHAR2     10     Y
EMP          JOB          VARCHAR2     9     Y
EMP          MGR          NUMBER     4,0     Y
EMP          HIREDATE          DATE          Y
EMP          SAL          NUMBER     7,2     Y
EMP          COMM          NUMBER     7,2     Y


EMP          DEPTNO          NUMBER     2,0     Y


大致上是这个样子了,思路在这里.