oracle使用dbms

您所在的位置:网站首页 oracle查询表索引字段 oracle使用dbms

oracle使用dbms

2024-07-09 15:41| 来源: 网络整理| 查看: 265

可以查询的类型有6种 ,用如下语句:

-- 6种:SEQUENCE、TRIGGER、TABLE、INDEX、VIEW、FUNCTION select object_type from user_objects group by object_type

比如查询SEQUENCE的ddl ,如下:

SELECT sequence_name,DBMS_METADATA.GET_DDL('SEQUENCE',sequence_name) FROM user_sequences;

解析:

SELECT sequence_name,DBMS_METADATA.GET_DDL('SEQUENCE',sequence_name) FROM user_sequences;

在这里插入图片描述 例子:

-- 查询SEQUENCE SELECT sequence_name,DBMS_METADATA.GET_DDL('SEQUENCE',sequence_name) FROM user_sequences; -- 查询TABLE SELECT table_name,DBMS_METADATA.GET_DDL('TABLE',table_name) FROM user_tables; -- 查询TRIGGER SELECT trigger_name,DBMS_METADATA.GET_DDL('TRIGGER',trigger_name) FROM user_triggers; -- 查询VIEW SELECT view_name,DBMS_METADATA.GET_DDL('VIEW',view_name) FROM user_views; -- 得到一个用户下的所有表,索引,存储过程,函数的ddl SELECT DBMS_METADATA.GET_DDL(U.OBJECT_TYPE, u.object_name)FROM USER_OBJECTS uwhere U.OBJECT_TYPE IN ('TABLE','INDEX','PROCEDURE','FUNCTION'); -- 查看当前用户表的SQL select dbms_metadata.get_ddl('TABLE','EMPLOYEES') from dual; -- 查看其他用表或索引的SQL SELECT DBMS_METADATA.GET_DDL('TABLE','DEPT','SCOTT') FROM DUAL; -- 查看所需表的索引 select INDEX_NAME, INDEX_TYPE, TABLE_NAME from user_indexes WHERE table_name='EMP'; --查看当前用户索引的SQL select dbms_metadata.get_ddl('INDEX','PK_DEPT') from dual; -- 查看其他用户索引的SQL select dbms_metadata.get_ddl('INDEX','PK_DEPT','SCOTT') from dual; -- 查看所需表的约束 select owner, table_name, constraint_name, constraint_type from user_constraints where table_name='EMP'; -- 查看创建主键的SQL SELECT DBMS_METADATA.GET_DDL('CONSTRAINT','EMP_PK') FROM DUAL; -- 查看创建外键的SQL SELECT DBMS_METADATA.GET_DDL('REF_CONSTRAINT','EMP_FK_DEPT') FROM DUAL; -- 查看当前用户视图的SQL SELECT dbms_metadata.get_ddl('VIEW', 'MY_TABLES') from dual ; -- 查看其他用户视图的SQL SELECT dbms_metadata.get_ddl('VIEW', 'MY_TABLES','SCOTT') FROM DUAL; -- 查看创建视图的SQL也可以 select text from user_views where view_name=upper('&view_name'); --得到所有表空间的ddl语句 SELECT DBMS_METADATA.GET_DDL('TABLESPACE', TS.tablespace_name)FROM DBA_TABLESPACES TS; --得到所有创建用户的ddl SELECT DBMS_METADATA.GET_DDL('USER',U.username)FROM DBA_USERS U; --去除storage等多余参数 EXECUTE DBMS_METADATA.SET_TRANSFORM_PARAM(DBMS_METADATA.SESSION_TRANSFORM,'STORAGE',false);

参考 oracle 如何查看创建表等数据库对象时的DDL语句 ORACLE导出DDL方法浅谈 [Oracle] dbms_metadata.get_ddl 的使用方法总结

原文地址: https://www.jianshu.com/p/3aeb116afe44



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3