plsql 练习五 批量查询指定方案的建表语句

create or replace procedure BATCH_CHECK_DDL_P(in_username in varchar2 ) is
  /***************************************************************
  *NAME : BATCH_INSERT_TABLEA_P
  *PURPOSE : --批量查询数据库内某个用户的建表语句
  *IMPUT : --  表名子
  *OUTPUT : -- N/A
  *Author : -- CICI
  *CreateDate : -- 2012、12、24
  *UpdateDate : --
  ************************************************************/
V_TABLE_NAMES   VARCHAR2(10000);
cursor cur is select    OBJECT_NAME
   from all_objects
  where OWNER = upper(in_username)
    and object_type = 'TABLE';
begin
 /*查询属于ss_hr用户的全部表的信息*/
  open cur;
  fetch cur into V_TABLE_NAMES;
 
  WHILE cur%FOUND LOOP
  
    exit when not cur%found; --如果游标到尾则结束
 /*遍历获取建表语句*/
 dbms_output.put_line('=================================================');
    dbms_output.put_line
    (dbms_metadata.get_ddl(object_type => 'TABLE',
                            name => upper(V_TABLE_NAMES),
                            schema=>upper(in_username))); 
  dbms_output.put_line('=================================================');  
 
    fetch cur
    into V_TABLE_NAMES;
  END LOOP;

  CLOSE cur;
 
end BATCH_CHECK_DDL_P;

 

转载于:https://www.cnblogs.com/cici-new/archive/2013/01/13/2858167.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值