存储过程查看所有信息创建一个存储过程查看一个表所有信息举例不要复制粘贴来[解决办法]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
大致上是这个样子了,思路在这里.
