【问题标题】:How create a stored procedure for Oracle with DDL [duplicate]如何使用 DDL 为 Oracle 创建存储过程 [重复]
【发布时间】:2018-09-11 14:37:32
【问题描述】:

如何创建存储过程以将表读入架构,并为所有表创建一个带有 DDL(仅 CREATE TABLE 和 PRIMARY KEY)的 .sql 文件。

输入参数是架构。

非常感谢

【问题讨论】:

标签: sql oracle plsql


【解决方案1】:

您需要将“MY_DIRECTORY”更改为可以写入的 Oracle 目录对象。此外,这需要一些时间来运行 - GET_DDL 并不快。

create or replace procedure table_ddl_to_file(schema_name in varchar2)
is
    v_clob clob := null;
begin
    for t in (select distinct table_name from all_tables where owner = schema_name)
    loop
        v_clob := v_clob || DBMS_METADATA.GET_DDL('TABLE',t.table_name, schema_name) || chr(10);
    end loop;

    DBMS_XSLPROCESSOR.CLOB2FILE(v_clob, 'MY_DIRECTORY', schema_name || '_table_ddl.sql');
end;
/

【讨论】:

    猜你喜欢
    • 2014-12-26
    • 1970-01-01
    • 1970-01-01
    • 2012-03-07
    • 2017-12-21
    • 2020-09-28
    • 1970-01-01
    • 1970-01-01
    • 2012-03-22
    相关资源
    最近更新 更多