DROP SYNONYM¶
说明¶
删除同义词
参数¶
PUBLIC
可以指定PUBLIC选项,但目前没有实际意义。
schema
指定要删除的同义词所属的模式名,如果缺省,则默认为当前模式。
synonym
要删除的同义词名。
FORCE
可以指定FORCE选项,但目前没有实际意义。
注解
删除同义词后,同义词不复存在,但其所引用的对象不受任何影响。
要删除某一模式下的同义词,必须拥有在该模式下的drop权限。
如果是通过同义词来删除同义词所引用的对象,则只是删除该对象,同义词依然存在,只是引用不再有效。比如,DROP TABLE S;(S是表T的同义词),则表T被删除,同义词S继续存在。但如果删除的是同义词,则同义词被删除,所引用的对象依然存在。比如,drop synonym s;此时,同义词s被删除,表t继续存在。
示例¶
示例1: 删除同义词
-- 清理环境
DROP SCHEMA schm2 CASCADE;
DROP TABLE tab1 CASCADE;
DROP SYNONYM syn1 ;
-- 创建表并插入数据
CREATE TABLE tab1 (a INT);
INSERT INTO tab1 VALUES (100);
INSERT INTO tab1 VALUES (200);
INSERT INTO tab1 VALUES (300);
SELECT * FROM tab1 ORDER BY a;
A(int) |
------------
100 |
------------
200 |
------------
300 |
总数目:3
-- 创建同义词
CREATE SYNONYM syn1 FOR tab1;
-- 使用同义词
SELECT * FROM syn1 ORDER BY a;
A(int) |
------------
100 |
------------
200 |
------------
300 |
总数目:3
-- 删除同义词
DROP SYNONYM syn1;
-- 创建模式
CREATE SCHEMA schm2;
-- 创建同义词(指定模式名)
CREATE SYNONYM schm2.syn2 FOR tab1;
-- 使用同义词(指定模式名)
SELECT * FROM schm2.syn2 ORDER BY a;
A(int) |
------------
100 |
------------
200 |
------------
300 |
总数目:3
-- 删除同义词(指定模式名)
DROP SYNONYM schm2.syn2;
-- 删除模式和表
DROP SCHEMA schm2;
DROP TABLE tab1;