zoukankan      html  css  js  c++  java
  • gen_create_syn.sql

    set echo off feedback off verify off pagesize 0 linesize 120

     ---变量从 sqlplus 的 call代码 传递过来 。

    -- 1 表示连接用户

    -- 2表示连接用户密码

    -- 3表示连接字符串

    ---4表示授权用户

    define v_input_un         = &1 
    define v_input_pw         = &2
    define v_input_conn_str   = &3
    define v_input_owner      = &4

    connect &v_input_un/&v_input_pw@&v_input_conn_str

    define v_create_syn_command_file = .logcreate_syn_&v_input_un._&v_input_owner..sql
    define v_create_syn_log_file     = .logcreate_syn_&v_input_un._&v_input_owner..log

     -- not exists 就是判断语句,如果没有子条件数据返回,就继续查询。

    spool &v_create_syn_command_file.
    prompt spool &v_create_syn_log_file.
    prompt set echo on feedback on
    prompt show user
    select
      'create or replace synonym '|| o.object_name ||' for &v_input_owner..'||o.object_name||';'
    from     all_objects o
    where    o.owner =  upper('&v_input_owner')
    and      user    != upper('&v_input_owner')
    and      o.object_type in ('TABLE', 'VIEW', 'SEQUENCE', 'PACKAGE', 'PROCEDURE', 'FUNCTION')
    and      not exists
      (select null
       from   user_synonyms s
       where  s.table_owner = o.owner
       and    s.table_name  = o.object_name)
    order by o.object_name
    /
    select
      'create or replace synonym '|| a_s.synonym_name ||' for &v_input_owner..'||a_s.synonym_name||';'
    from     all_synonyms a_s
    where    a_s.owner =  upper('&v_input_owner')
    and      user      != upper('&v_input_owner')
    and      not exists
      (select null
       from   user_synonyms u_s
       where  u_s.table_owner = a_s.owner
       and    u_s.table_name  = a_s.synonym_name)
    order by a_s.synonym_name
    /
    prompt spool off
    spool off

    @&v_create_syn_command_file.

  • 相关阅读:
    IOS开发--第四阶段--关联
    1.7 Flask
    1.4 linux 路飞项目
    linux 1.3 nginx 负载均衡和配置文件
    1.2 redis
    1.1 xinnian
    12.30 linux 7
    12.29
    12.29 linux3 mysql和redis
    12.28 linux 第四天 安装python 和虚拟环境
  • 原文地址:https://www.cnblogs.com/feiyun8616/p/5897016.html
Copyright © 2011-2022 走看看