分享更有价值
被信任是一种快乐

oracle中如何获取建表ddl语句

文章页正文上

小编给大家分享一下oracle中如何获取建表ddl语句,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!
在使用DIP工具初始化时遇到大量分区表,无法正常使用全同步功能,故先提取表结构,后同步数据。



第一种方法是使用工具,如:
pl/sql developer,在【工具】–【导出用户对象】出现就可以得到建表脚本。

第二种方法是,sql语句。

DBMS_METADATA.GET_DDL包可以得到数据库的对象的ddl脚本。如下(SQLPLUS中执行):

1.得 到一个表的ddl语句:

SET SERVEROUTPUT ON
SET LINESIZE 1000
SET FEEDBACK OFF
set long 99999
set pagesize 4000

免费主机域名去除storage等多余参数(可选)
SQL> EXECUTE DBMS_METADATA.SET_TRANSFORM_PARAM(DBMS_METADATA.SESSION_TRANSFORM,’STORAGE’,false);

— 获取ddl ##(’TABLE’,’表名’,’用户名’)
SQL> SELECT DBMS_METADATA.GET_DDL(‘TABLE’,’CBZS_DMCODE_DEP_TYPE’,’MOBILE_CBZS’) FROM DUAL;
DBMS_METADATA.GET_DDL(‘TABLE’,’CBZS_DMCODE_DEP_TYPE’,’MOBILE_CBZS’)
——————————————————————————–

CREATE TABLE “MOBILE_CBZS”.”CBZS_DMCODE_DEP_TYPE”
( “TYPE_ONE” VARCHAR2(6),
“TYPE_ONE_DESC” VARCHAR2(30),
“TYPE_TWO” VARCHAR2(6),
“TYPE_TWO_DESC” VARCHAR2(30),
“TYPE_ONE_ORD” NUMBER,
“TYPE_TWO_ORD” NUMBER
) PCTFREE 0 PCTUSED 40 INITRANS 1 MAXTRANS 255 COMPRESS LOGGING
TABLESPACE “DM_TBS_001”

2.得到一个用户下的所有表,索引,存储过程的ddl

SELECT DBMS_METADATA.GET_DDL(U.OBJECT_TYPE, u免费主机域名.object_name) FROM USER_OBJECTS u where U.OBJECT_TYPE IN (‘TABLE’,’INDEX’,’PROCEDURE’);

3.得到所有表空间的ddl语句

SELECT DBMS_METADATA.GET_DDL(‘TABLESPACE’, TS.tablespace_name) FROM DBA_TABLESPACES TS;

4.得到所有创建用户的ddl

SELECT DBMS_METADATA.GET_DDL(‘USER’,U.username) FROM DBA_USERS U;

另外,若执行不了该包,则需要正确安装好相应的包。

拓展:– 通过dblink补数据
insert into MOBILE_CBZS.MSS_BMS_ZHIJU_YUSUAN select * from MOBILE_CBZS.MSS_BMS_ZHIJU_YUSUAN@oldhbdw;以上是“oracle中如何获取建表ddl语句”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注云技术行业资讯频道!

相关推荐: 怎么使用DETERMINISTIC函数

这篇文章主要讲解了“怎么使用DETERMINISTIC函数”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么使用DETERMINISTIC函数”吧!我定义了如下函数:哪些选项包含了这样的代码,如果我把上述函数加…

文章页内容下
赞(0) 打赏
版权声明:本站采用知识共享、学习交流,不允许用于商业用途;文章由发布者自行承担一切责任,与本站无关。
文章页正文下
文章页评论上

云服务器、web空间可免费试用

宝塔面板主机、支持php,mysql等,SSL部署;安全高速企业专供99.999%稳定,另有高防主机、不限制内容等类型,具体可咨询QQ:360163164,Tel同微信:18905205712

主机选购导航云服务器试用

登录

找回密码

注册