DROP SYNONYM

说明

删除同义词

语法

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;