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 = .\log\create_syn_&v_input_un._&v_input_owner..sql
define v_create_syn_log_file     = .\log\create_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.

gen_create_syn.sql的更多相关文章

  1. call_create_syn.sql

    promptprompt ================================================================================prompt ...

  2. 最近帮客户实施的基于SQL Server AlwaysOn跨机房切换项目

    最近帮客户实施的基于SQL Server AlwaysOn跨机房切换项目 最近一个来自重庆的客户找到走起君,客户的业务是做移动互联网支付,是微信支付收单渠道合作伙伴,数据库里存储的是支付流水和交易流水 ...

  3. SQL Server 大数据搬迁之文件组备份还原实战

    一.本文所涉及的内容(Contents) 本文所涉及的内容(Contents) 背景(Contexts) 解决方案(Solution) 搬迁步骤(Procedure) 搬迁脚本(SQL Codes) ...

  4. Sql Server系列:分区表操作

    1. 分区表简介 分区表在逻辑上是一个表,而物理上是多个表.从用户角度来看,分区表和普通表是一样的.使用分区表的主要目的是为改善大型表以及具有多个访问模式的表的可伸缩性和可管理性. 分区表是把数据按设 ...

  5. SQL Server中的高可用性(2)----文件与文件组

        在谈到SQL Server的高可用性之前,我们首先要谈一谈单实例的高可用性.在单实例的高可用性中,不可忽略的就是文件和文件组的高可用性.SQL Server允许在某些文件损坏或离线的情况下,允 ...

  6. EntityFramework Core Raw SQL

    前言 本节我们来讲讲EF Core中的原始查询,目前在项目中对于简单的查询直接通过EF就可以解决,但是涉及到多表查询时为了一步到位就采用了原始查询的方式进行.下面我们一起来看看. EntityFram ...

  7. 从0开始搭建SQL Server AlwaysOn 第一篇(配置域控)

    从0开始搭建SQL Server AlwaysOn 第一篇(配置域控) 第一篇http://www.cnblogs.com/lyhabc/p/4678330.html第二篇http://www.cnb ...

  8. 从0开始搭建SQL Server AlwaysOn 第二篇(配置故障转移集群)

    从0开始搭建SQL Server AlwaysOn 第二篇(配置故障转移集群) 第一篇http://www.cnblogs.com/lyhabc/p/4678330.html第二篇http://www ...

  9. 从0开始搭建SQL Server AlwaysOn 第三篇(配置AlwaysOn)

    从0开始搭建SQL Server AlwaysOn 第三篇(配置AlwaysOn) 第一篇http://www.cnblogs.com/lyhabc/p/4678330.html第二篇http://w ...

随机推荐

  1. 关于const *和 * const

    int main() { ; ; int const *p = &i; p = &j; *p = ; //错误,*p的值被const修饰,为只读变量,不可更改 int * const ...

  2. jquery各版本区别

     jquery版本区别:          1.3一般功能够 1.4.2一般功能够而且稳定 1.7+比较新特性 2不支持老IE 兼容的话最好选 1.x.稳定性就用1.7或者1.4,其中1.4的体积相对 ...

  3. ZOJ 1967 POJ 2570 Fiber Network

    枚举起点和公司,每次用DFS跑一遍图,预处理出所有的答案.询问的时候很快就能得到答案. #include<cstdio> #include<cmath> #include< ...

  4. ios用xib实现三等分以及多等分思路

    Auto Layout 的本质原理 Auto Layout 的本质是用一些约束条件对元素进行约束,从而让他们显示在我们想让他们显示的地方. 约束主要分为以下几种(欢迎补充): 相对于父 view 的约 ...

  5. QTP脚本程序(原创自编)

    '编写哨位台程序测试脚本,实现功能如下:'1.自动添加100条查哨换岗人员记录,'2.自动添加美电.海康,大华视频.'3.自动配置视频设备.'4.检查后台进程是否存在.'5.视频轮巡.'####### ...

  6. Windows常用的监视数据指标

  7. shell变量的替换

    1 shell变量基础shell变量是一种很“弱”的变量,默认情况下,一个变量保存一个串,shell不关心这个串是什么含义.所以若要进行数学运算,必须使用一些命令例如let.declare.expr. ...

  8. zen cart global $db 这噶哒

    zen cart $db变量是mysql数据库类的对象,是一个全局变量.在zen cart系统里面的任何一个地方都可以使用这个对象来查询数据库获取数据库的内容.只要需要用到查询数据库,都可以使用这个对 ...

  9. allegro 导Gerber文件

    今天抽空好好整理了一下有关Allegro出Gerber文件文档,此文档在网上搜到的基础上进一步完善,把每个需要注意的地方都用红色字体框出 http://files.cnblogs.com/files/ ...

  10. Linked List 实例

    文件功能:实现了动态建立一个学生信息的链表包括链表的创建.插入.删除.和打印输出学生信息包括姓名和分数 #include<iostream> #include<string> ...