如何在一个用户下创建另一个用户的所有同义词

Oracle同义词从字面上理会就是别名的意思,和视图的功能类似,就是一种映射联系。在Oracle中对用户的维护是运用权限的方式来维护的,也就是说,假如咱们想运用数据库,咱们就必须得有权限,但是假如是别人将权限授予了咱们,咱们也是能对数据库执行 操作的,但是咱们必须要已授权的表的名称前键入该表所有者的名称,如bsrun.doctor_info,所以这比较麻烦,遇到这种情况,咱们该如何办呢?建立个同义词吧!这样咱们就能够直接运用同义词来运用表了。

1、 假如咱们要将bsrun用户的所有对象都建立一个同义词,则能够这样写:

select ‘ create synonym ‘ OBJECT_NAME ‘ for bsrun.‘OBJECT_NAME‘;‘   
 from user_objects where object_type  in(‘TABLE‘,‘VIEW‘,‘PROCEDURE‘,‘TRIGGER‘,‘FUNCTION‘,‘PACKAGE‘);

将以上语句取得的结果集,在PL/SQL工具中执行就能够了,以上建立的是私有同义词,即只有建立者才能访问。

以下语句则是建立公有同义词,所有有权限的用户都能访问:

select ‘ create public synonym ‘ OBJECT_NAME ‘ for bsrun.‘OBJECT_NAME‘;‘   
 from user_objects where object_type  in(‘TABLE‘,‘VIEW‘,‘PROCEDURE‘,‘TRIGGER‘,‘FUNCTION‘,‘PACKAGE‘);

2、删除同义词:

DROP SYNONYM emp; --删除名为emp 的私有同义词
DROP PUBLIC SYNONYM public_emp; --删除名为public_emp的公有同义词

select ‘ create public synonym ‘||OBJECT_NAME||‘ for jtsjk.‘||OBJECT_NAME||‘;‘   
 from user_objects where object_type  in(‘TABLE‘,‘VIEW‘);

时间: 2024-08-06 04:02:35

如何在一个用户下创建另一个用户的所有同义词的相关文章

ebs 根据一个用户的创建另外一个用户并添加职责

--创建用户DECLAREv_user_name VARCHAR2 (100) := upper('&Enter_User_Name');v_description VARCHAR2 (100) := 'NEW Test User';BEGIN fnd_user_pkg.createuser(x_user_name => v_user_name, x_owner => NULL, x_unencrypted_password => '&input_password', x

解决Oracle在scott用户下创建视图(VIEW)权限不足的方法

问题描述:在scott用户下创建视图的时候,报错:权限不足.(其他用户以此类推)解决方法: 以dba用户登录 [sql] view plain copy print? sqlplus / as sysdba 赋予scott用户创建VIEW的权限 [sql] view plain copy print? grant create view to scott 以scott用户登录oracle [sql] view plain copy print? conn scott/tiger 创建视图成功 [

ubuntu下创建第一个rails应用程序

一.创建一个新的应用程序 在控制台输入 > rails new  demo create create README.rdoc create Rakefile create config.ru create .gitignore create Gemfile create app ........... Your bundle is complete! Use `bundle show [gemname]` to see where a bundled gem is installed. run

Linux下创建和删除用户

在Linux下创建用户和删除用户,必须在root用户下,如果你当前不是用根用户登录,你可以打开终端,输入"su root"命令,再输入根口令,就可以进入root用户模式下,如下所示: 创建用户(useradd): (1)用useradd命令创建用户创建用户: 语法: useradd [所要创建的用户名] ,回车 (2)用passwd命令为该用户创建密码: 语法: passwd [用户名]  ,回车 (3)输入密码:一般密码至少要有六个字符,这里输入的密码是看不见的,所以看到屏幕没显示,

linux下创建与删除用户详细步骤

linux下用户的操作还是相对容易理解的,基本操作如下: 1.新增用户 只有root用户能创建新用户 [plain] view plaincopy #useradd user1 新建后将会在/home目录下生成一个与用户名相同的用户主目录.同时会创建一个新组,该组与该用户同名,该用户属于该组的成员.如果让新的用户归属于一个已经存在的组,使用如下命令: [plain] view plaincopy #useradd -g usergroup1 user1 这样该用户就属于usergroup1组的一

mysql创建用户和创建数据库赋值用户操作权限

mysql 进入mysqldb SELECT DISTINCT CONCAT('User: ''',user,'''@''',host,''';') AS query FROM mysql.user; 查询所有用户 CREATE USER 'oozie'@'%' IDENTIFIED BY 'oozie'; 创建一个用户可以访问所有数据库(%表示)密码是oozie GRANT ALL PRIVILEGES ON *.* TO 'oozie'@'%' IDENTIFIED BY 'oozie' W

查看Oracle当前用户下的信息(用户,表视图,索引,表空间,同义词,存储过程函数,约束条件)

0.表空间 SQL>select username,default_tablespace from user_users; 查看当前用户的角色 SQL>select * from user_role_privs; 查看当前用户的系统权限和表级权限 SQL>select * from user_sys_privs; SQL>select * from user_tab_privs; 查看用户下所有的表 SQL>select * from user_tables; 1.用户 查看

Sybase同一数据库下创建多个用户

sybase一个数据库下可以建立多个用户,多个用户之间的对象互不干扰,可以实现多个用户用于多个环境的需求. 系统默认的系统管理员账号和密码:sa     usedefault 准备:安装sybase客户端 1. 使用sybase central连接至数据库,选择login节点: 2. 点击Add Login,进入用户添加界面: 3. 输入用户名.密码,选择其默认数据库等信息: 4.为新添加的用户授权,查看用户属性中的users页签,选择当前用户后,点击properties,在commands中勾

Centos7下创建和管理用户

创建用户命令:adduser和useradd是一样的 useradd {用户名} -U -m  -p {密码} 部分选项说明: -m:--create-home 创建用户家目录 -b:--base-dir {家目录} 指定用户家目录位置 -g:--gid {用户组名或id} 指定用户组 -D:--default 查看或修改默认创建用户配置 -s:--shell {SHELL} 允许登录指定shell,如:/bin/sh./bin/bash等,可以用echo $SHELL查看默认shell -U: