我对Oracle数据库中的几个表进行了“只读”访问。我需要获取一些列的模式信息。我想使用类似于MS sql的sp_help。
我看到我感兴趣的表在此查询中列出:
SELECT * FROM ALL_TABLES
当我运行这个查询,Oracle告诉我“在模式中找不到表”,是的参数是正确的。
SELECT DBMS_MetaDATA.GET_DDL('TABLE','ITEM_COMMIT_AGG','INTAMPS') AS DDL FROM DUAL;
使用我的Oracle通用翻译9000后,我猜测这不工作,因为我没有足够的权限。给定我的约束如何获得一个表上的列的数据类型和数据长度我有一个PL sql语句读取访问?
ALL_TAB_COLUMNS应该可以从PL / SQL查询。 DESC是一个sql * Plus命令。
sql> desc all_tab_columns; Name Null? Type ----------------------------------------- -------- ---------------------------- OWNER NOT NULL VARCHAR2(30) TABLE_NAME NOT NULL VARCHAR2(30) COLUMN_NAME NOT NULL VARCHAR2(30) DATA_TYPE VARCHAR2(106) DATA_TYPE_MOD VARCHAR2(3) DATA_TYPE_OWNER VARCHAR2(30) DATA_LENGTH NOT NULL NUMBER DATA_PRECISION NUMBER DATA_SCALE NUMBER NULLABLE VARCHAR2(1) COLUMN_ID NUMBER DEFAULT_LENGTH NUMBER DATA_DEFAULT LONG NUM_disTINCT NUMBER LOW_VALUE RAW(32) HIGH_VALUE RAW(32) DENSITY NUMBER NUM_NULLS NUMBER NUM_BUCKETS NUMBER LAST_ANALYZED DATE SAMPLE_SIZE NUMBER CHaraCTER_SET_NAME VARCHAR2(44) CHAR_COL_DECL_LENGTH NUMBER GLOBAL_STATS VARCHAR2(3) USER_STATS VARCHAR2(3) AVG_COL_LEN NUMBER CHAR_LENGTH NUMBER CHAR_USED VARCHAR2(1) V80_FMT_IMAGE VARCHAR2(3) DATA_UPGRADED VARCHAR2(3) HISTOGRAM VARCHAR2(15)
原文地址:https://www.jb51.cc/oracle/207530.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。