请为emp表分别创建私有同义词和公有同义词
1、命令窗口创建用户,分配权限
create user test identified by test;
grant connect,create synonym,create public synonym to test;
grant all on scott.emp to test;
grant create public synonym to test;
grant drop public synonym to test;
-
CREATE USER test IDENTIFIED BY test;
:此语句创建了一个名为 "test" 的新用户,并设置密码为 "test"。 -
GRANT CONNECT, CREATE SYNONYM, CREATE PUBLIC SYNONYM TO test;
:这授予了用户 "test" 权限。用户被授予连接到数据库、创建私有同义词和创建公共同义词的能力。 -
GRANT ALL ON scott.emp TO test;
:这授予用户 "test" 对表scott.emp
的所有权限。这实际上给予了用户完全访问emp
表的权限。 -
GRANT CREATE PUBLIC SYNONYM TO test;
:这授予用户 "test" 创建公共同义词的权限。公共同义词是可以被数据库中所有用户访问的同义词。 -
GRANT DROP PUBLIC SYNONYM TO test;
:这授予用户 "test" 删除公共同义词(删除同义词)的权限。这允许用户删除他们创建的公共同义词。
总的来说,这些语句创建了一个名为 "test" 的新用户,授予了该用户各种权限,包括访问和操作 scott.emp
表的权限,以及创建和删除公共同义词的权限。这些操作的目的似乎是在数据库环境中为 "test" 用户设置权限和访问。
2、创建私有同义词和公有同义词
conn test/test
select * from scott.emp;
create synonym staff for scott.emp;
create public synonym public_staff for scott.emp;
这些SQL语句执行了以下操作:
-
conn test/test
:这是一个连接命令,用于以 "test" 用户身份连接到数据库,密码为 "test"。 -
select * from scott.emp;
:这是一个查询语句,从scott.emp
表中检索所有行和列的数据。 -
create synonym staff for scott.emp;
:这个语句创建了一个同义词 "staff",将它与scott.emp
表关联起来。这意味着以后可以使用 "staff" 来代替scott.emp
表名。 -
create public synonym public_staff for scott.emp;
:这个语句创建了一个公共同义词 "public_staff",将它与scott.emp
表关联起来。公共同义词允许所有用户在数据库中访问该同义词,以便查询scott.emp
表的数据。
综上所述,这些语句连接到 "test" 用户,从 scott.emp
表中检索数据,并创建了一个同义词 "staff" 和一个公共同义词 "public_staff",将它们与 scott.emp
表相关联。这些操作旨在设置 "test" 用户的访问权限以及创建同义词以方便访问 scott.emp
表。