DROP SYNONYM 语句

使用 DROP SYNONYM 语句注销现有的同义词。

该语句是 SQL ANSI/ISO 标准的扩展。

语法

元素 描述 限制 语法
owner synonym 的所有者 必须拥有 synonym 所有者名称
synonym 要删除的同义词 该同义词必须存在于当前数据库中 标识符

用法

此语句从 systablessyssynonymssyssyntable 系统目录表中删除条目。您必须是 synonym 的所有者或者拥有 DBA 特权才能执行 DROP SYNONYM 语句。删除同义词对同义词指向的表、视图或系列对象都没有影响。

如果您包含可选的 IF EXISTS 关键字,则如果未在当前数据库中注册指定名称的同义词则数据库服务器不执行任何操作(而不是向应用程序发送异常)。

下列语句删除用户 cathyg 拥有的同义词 nj_cust
DROP SYNONYM cathyg.nj_cust; 

DROP SYNONYM 并不是唯一一个可以注销同义词的 DDL 操作,如果删除表、视图或序列,则同一数据库中的任何同义词以及指代该表、视图或序列的同义词也会被删除。

但是,如果当前数据库中的同义词引用另一个数据库中的已删除表或视图,那么该同义词将保留在系统目录中,直至使用 DROP SYNONYM 语句显式删除该同义词。 您可以在同一数据库中创建另一个表或视图,并声明已删除的表或视图的名称作为其标识符。(如果不是当前数据库中的任何表或对象的名称,您可以在当前数据库中创建一个表、视图或序列对象,并将在其它数据库中的表中删除的表或视图的标识符声明为其名称。)在另一种情况中,旧的同义词现在会引用新的表对象。有关同义词链接的更完整的讨论,请参阅 CREATE SYNONYM 语句描述中的链接同义词一节。