精华内容
下载资源
问答
  • oracle批量删除同义词
    2020-06-05 21:52:44

    select ‘drop table ‘||table_name||’;’ as sqlscript from user_tables;
    –删除视图
    select ‘drop view ’ || view_name||’;’ as sqlscript from user_views;
    –删除序列
    select ‘drop sequence ’ || sequence_name||’;’ as sqlscript from user_sequences;
    –删除类型
    select ‘drop type ‘||type_name||’;’ as sqlscript from user_types;
    –删除触发器
    select ‘drop trigger ‘||trigger_name||’;’ as sqlscript from user_triggers;
    –删除同义词
    select ‘drop synonym ‘||synonym_name||’;’ as sqlscript from user_synonyms;
    –删除过程
    select ‘drop procedure ’ || object_name||’;’ as sqlscript from user_objects where object_type=‘PROCEDURE’;
    –删除函数
    select ‘drop function ’ || object_name||’;’ as sqlscript from user_objects where object_type=‘FUNCTION’;
    –删除包
    select ‘drop package ’ || object_name||’;’ as sqlscript from user_objects where object_type=‘PACKAGE’;

    更多相关内容
  • Oracle批量创建同义词

    2021-05-04 01:45:47
    一、介绍Oracle同义词(synonyms)从字面上理解就是别名的意思,和视图的功能类似,就是一种映射关系。它可以节省大量的数据库空间,对不同用户的操作同一张表没有多少差别;它扩展了数据库的使用范围,能够在不同的...

    一、介绍

    Oracle的同义词(synonyms)从字面上理解就是别名的意思,和视图的功能类似,就是一种映射关系。它可以节省大量的数据库空间,对不同用户的操作同一张表没有多少差别;它扩展了数据库的使用范围,能够在不同的数据库用户之间实现无缝交互。

    很多时候,会有多个oracle账号访问一个账号下的表,比如:USER_A用户下面有很多表,相关的sql语句都是USER_A.Tablename等等等,这时候需要用USER_B用户去访问USER_A的表,但是sql语句还要保持USER_A.Tablename,就需要用到同义词了

    同义词分类: Oracle同义词有两种类型,分别是Oracle公用同义词与Oracle私有同义词。普通用户创建的同义词一般都是私有同义词,公有同义词一般由DBA创建,普通用户如果希望创建同义词,则需要CREATE PUBLIC SYNONYM这个系统权限。

    Oracle公用同义词:由一个特殊的用户组Public所拥有。顾名思义,数据库中所有的用户都可以使用公用同义词。公用同义词往往用来标示一些比较普通的数据库对象,这些对象往往大家都需要引用。

    Oracle私有同义词:它是跟公用同义词所对应,他是由创建他的用户所有。当然,这个同义词的创建者,可以通过授权控制其他用户是否有权使用属于自己的私有同义词。

    二、创建同义词

    语法:

    CREATE [OR REPLACE] [PUBLIC] SYNONYM [ schema.] 同义词名称 FOR [ schema.] object [ @dblink ];

    专有(私有)同义词

    CREATE SYNONYM SYSN_TEST FOR TEST;

    公共同义词

    CREATE PUBLIC SYNONYM PUBLIC_TEST FOR TEST;

    2.1首先需要sys用户授权USER_B创建同义词权限

    其中USER_B是需要创建同义词的用户

    GRANT CREATE SYNONYM TO USER_B;

    这个时候还需要一个权限就是USER_B用户select USER_A用户table的权限,这个时候是在USER_A用户下赋值的

    grant select on tableA to user_temp;

    2.2创建同义词

    create synonym USER_B.Tablename for USER_A.Tablename;

    2.3测试同义词

    使用USER_B用户oracle,有输出结果代表可以在USER_B用户下以USER_B的schema查看USER_A的表

    select count(*) from USER_B.Tablename;

    三、批量创建同义词

    很多时候,当前环境下的表有几百张甚至几千张,很多人说可以select * from dba_tables where owner='UPCENTER' 把表名查出来,用notpad拼成命令,批量执行,这里是行不通的,因为每条命令的行尾都不一样(表名不同) 这时候可以先用notpad软件把USER_B用户select USER_A用户table的权限批量执行,然后再执行下面的命令,把输出结果执行以下即可:

    select 'create synonym USER_B.'||table_name||' for upcenter.'||table_name||';' from dba_tables where owner='USER_A'

    四、查看同义词和删除同义词

    4.1查看用户下的同义词

    SELECT * FROM DBA_SYNONYMS where OWNER = 'UPAPP';

    4.2删除同义词

    DROP SYNONYM SYSN_NAME;

    展开全文
  • 普通用户创建的同义词一般都是私有同义词,公有同义词一般由DBA创建,普通用户如果希望创建同义词,则需要CREATE PUBLIC SYNONYM这个系统权限。创建私有同义词的命令是CREATE SYNONYM,它的语...

    用户可以在自己的模式中创建同义词,这需要具有CREATE SYNONYM这个系统权限。如果希望在其他用户的模式中创建同义词,则需要具有CREATE ANY SYNONYM这个系统权限。普通用户创建的同义词一般都是私有同义词,公有同义词一般由DBA创建,普通用户如果希望创建同义词,则需要CREATE PUBLIC SYNONYM这个系统权限。

    创建私有同义词的命令是CREATE SYNONYM,它的语法规则为:

    CREATE SYNONYM 同义词 FOR 用户名.对象名;

    例如,假设当前用户为了方便地访问scott用户的表dept,可以执行下面的CREATE语句创建同义词:

    CREATE SYNONYM sy_dept FOR scott.dept;

    这样在具有相应权限的情况下,当前用户就可以通过这个同义词代替原来的表,在SQL语句中通过访问同义词来对原来的表进行操作。例如:

    SELECT deptno,dname,loc FROM sy_dept;

    创建公有同义词的命令也是CREATE SYNONYM,只是要使用PUBLIC关键字进行限定。创建公有同义词的命令格式为:

    CREATE PUBLIC SYNONYM 同义词 FOR 用户名.对象名;

    例如,为了让大家都能方便地访问scott用户的表dept,DBA可以通过执行下面的语句创建一个公共同义词:

    CREATE PUBLIC SYNONYM pub_dept FOR scott.dept;

    在具有相应权限的情况,任何用户都可以通过这个同义词访问SCOTT用户的表dept。

    用户如果不使用同义词时,可以将其删除。删除同义词的命令是DROP SYNONYM。这条命令的语法格式为:

    DROP SYNONYM 同义词;

    一个用户可以删除自己创建的同义词,如果要删除其他用户创建的同义词,则要具有DROP ANY SYNONYM系统权限。DBA可以删除所有的公共同义词,普通用户需要具有DROP PUBLIC SYNONYM系统权限,才能删除公共同义词。同义词被删除以后,它的相关信息也将从数据字典中删除。0b1331709591d260c1c78e86d0c51c18.png

    展开全文
  • 由创建同义词的用户所有,可以通过授权控制其他用户是否有权使用该同义词 公有: 公有的由一个特殊的用户组所有,数据库中所有用户均可使用 私有创建方法: CREATE OR REPLACE SYNONYM "同义词名字" FOR "参照...

    简单定义:

    和视图类似的一种对表指定数据库指定表的一种映射关系。可以节省大量数据库存储空间,简化数据访问与增强对象访问的安全。

    主要分为私有同义词和公有同义词:

    私有:

    由创建同义词的用户所有,可以通过授权控制其他用户是否有权使用该同义词

    公有:

    公有的由一个特殊的用户组所有,数据库中所有用户均可使用

    私有创建方法:

    CREATE OR REPLACE SYNONYM "同义词名字" FOR "参照数据库"."参照表";

    公有创建方法:

    CREATE OR REPLACE  PUBLIC SYNONYM "同义词名字" FOR "参照数据库"."参照表";

    同义词的删除:

    DROP [ PUBLIC ] SYNONYM [ 同义词所在数据库. ] 同义词名称 [ FORCE ];

    DROP SYNONYM 同义词名称; (公有的就加PUBLIC)

    注意:当同义词的原对象被删除时,同义词却不会被删除!(这是个小坑)

    作用:

    (1)节省存储空间,并不占实际空间

    (2)实现多数据库间的通信

    (3)协同开发中,授予不同用户不同权限

    (4)简化sql语句,增删改查可以通过创建的同义词名来调用

    展开全文
  • Oracle中创建,删除同义词 Synonym

    万次阅读 2011-01-14 17:28:00
    对另一个数据对象而言同义词是一个别名。public同义词是针对所有用户的,相对而言private同义词则只针对对象拥有者或被授予权限的账户。  在本地数据库中同义词可以表示表、视图、序列、程序、函数或...
  • oracle 创建同义词

    2019-09-12 07:24:56
    创建同义词对于我的项目来说, 主要是为了 jdbc 写SQL的时候, 不需要在 表的前面加上 用户名称。 因为 SQL已经写好了,改起来麻烦,开发起来也麻烦。 即, A 用户要访问B 用户的表,不用加上 b.xxx 的表名。 可是...
  • Oracle 删除所有表,视图,序列,函数,存储过程等SQL语句文档。
  • Oracle事务-视图-同义词-序列-索引 详解 -------------------------------------------------------------------------------------准备篇 col empno for 9999; col ename for a10; col job for a10; col mgr for ...
  • 3.2、同义词分类 私有同义词:只能用户自己访问 公有同义词:数据库的所有用户都可以访问 3.3、创建和删除 创建 私有同义词 create synonym 同义词名称 for 表名|视图名 公有同义词 create public synonym 同义词...
  • 删除同义词:要删除同义词,用户必须拥有相应的权限。  drop [public] synonym [schema.]synonym_name; 例:drop synonym A_oe.sy_emp;--删除私有同义词  drop public synonym A_hr.public_sy_emp;--删除公有...
  • 1.1 视图 1.1.1 什么是视图 视图就是一个虚拟表,实体表的映射 什么时候使用视图 ...在开发中,有一些表结构是不希望过多的人去接触,就把实体表映射为一个视图。...2. 删除 -- 语法 drop view 视图名称;
  • --同义词创建的语法 /* CREATE [OR REPLACE] [PUBLIC] SYNONYM [schema .] synonym  FOR [schema .] object [@ dblink]; */ --同义词的优点 --1.安全,隐藏了数据库对象的名称和所有者 --2.提供了对象的公共访问 --...
  • 11.2 共有同义词的建立和使用 11.3 私有同义词的建立和使用 11.4 tab是什么? 第12部分 序列 12.1 序列的含义 12.2 建立序列(包括重要参数的含义) 12.3 访问序列 12.4 更改、删除序列 ...
  • 一、Oracle创建账户、修改、删除账户及授权和撤销授权。
  • SQL的类型 1、DML(Data Manipulation Language 数据操作语言): select insert update delete 2、DDL(Data ...在create后加上public表示公有的,所有用户都可以使用 4)查询 5)删除同义词 DROP SYNONYM hremp;
  • 同义词:是现有对象的一个别名 简化SQL语句 隐藏对象的名称和所有者 ...Oracle同义词使用注意事项 使用同义词前,要获得同义词对应对象的访问权限 同名情况 对象与私有同义词不能同名 对象...
  • 如何加速Oracle大批量数据处理如何加速Oracle大批量数据处理一、 提高DML操作的办法:简单说来:1、暂停索引,更新后恢复.避免在更新的过程中涉及到索引的重建.2、批量更新,每更新一些记录后及时进行提交动作....
  • ORACLE删除当前用户下所有的表的方法 如果有删除用户的权限,则可以: drop user user_name cascade; 加了cascade就可以把用户连带的数据全部删掉。删除后再创建该用户。 --创建用户 create user ...
  • Oracle 同义词(Synonym)

    2017-05-04 10:42:00
     同义词(Synonym)是表、索引、视图等模式对象的一个... Oracle同义词分两种类型:公有同义词,私有同义词。公有同义词所有用户都可以使用,私有同义词只有被创建它的用户拥有,只能由该用户以及授权的其他用户使...
  • 自增id批量插入报错

    2020-12-29 03:58:24
    批量删除数据,常见的大坑!!!行数据批量delete时,InnoDB如何处理自增ID,是一个潜在的大坑。整个实验步骤如上图:第一步:建表,设定自增列;第二步:指定id=1插入,锚定第一行是id是1;第三步:不指定id,依赖...
  • oracle内部有两个建好的用户:system和sys。用户可直接登录到system用户以创建其他用户,因为system具有创建别的用户的 权限。 在安装oracle时,用户或系统管理员首先可以为自己建立一个用户。例 如 :Sql代码create...
  • Oracle总结的第一篇中,我们已经总结了一些常用的SQL相关的知识点了…那么本篇主要总结关于Oralce视图、序列、事务的一些内容… 在数据库中,我们可以把各种的SQL语句分为四大类… (1)DML(数据操纵语言):...
  • 删除同义词 drop synonym e; not null(不为空约束) 只能定义列级别的约束 值不可以为空(不允许null 与 ”) 不指定约束名称 创建emp备份表,且约束雇员姓名与部门编号不能为空 create ...
  • Oracle数据库对象

    2022-05-02 21:10:39
    同义词 序列 视图 索引
  • DDL(data definition language 数据定义语言): create table,alter table,drop table,truncate table create/drop view,sequence,index,synonym(同义词) 3. DCL(data control language 数据控制语言):grant...
  • Oracle

    2022-05-19 22:42:46
    Oracle入门

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,110
精华内容 444
热门标签
关键字:

oracle批量删除同义词