oracle克隆一张表,oracle复制另外一张表结构到一张新表中

toad F4

plsql developer   view/edit  -> view sql

要是指量的话,写个procedure也行

--create or replace directory DATA_PUMP_DIR as '/home/oracle/admin/RT/dpdump';

--grant read,write on directory DATA_PUMP_DIR to public;

procedure sp_export_ddl_table(p_table_name VARCHAR2,p_file_name VARCHAR2)

is

v_file          UTL_FILE.file_type;

v_buffer        VARCHAR2(32767);

v_amount        BINARY_INTEGER := 1024;

v_pos           INTEGER :=1;

v_clob          CLOB;

v_clob_length   INTEGER;

BEGIN

SELECT dbms_metadata.get_ddl(upper('table'),p_table_name)||';'

INTO v_clob

FROM dual;

v_clob_length := dbms_lob.getlength(v_clob);

v_file := UTL_FILE.FOPEN('DATA_PUMP_DIR',p_file_name||'.sql','a',32767);

WHILE v_pos < v_clob_length LOOP

dbms_lob.read(v_clob,v_amount,v_pos,v_buffer);

UTL_FILE.put(v_file,v_buffer);

v_pos := v_pos + v_amount;

END LOOP;

UTL_FILE.FCLOSE(v_file);

END sp_export_ddl_table;

--将一个用户下所有表的定义SQL输出到文件中

procedure sp_export_ddl_user (p_owner_name VARCHAR2 DEFAULT USER)

is

BEGIN

FOR rec in (select table_name from user_tables ) LOOP

sp_export_ddl_table(rec.table_name,p_owner_name);

END LOOP;

END;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值