使用 DROP CAST 语句从数据库移除现有的强制转型。
用法
您必须是强制转型的所有者或拥有 DBA 特权才可使用 DROP CAST。删除强制转型会从
syscasts 系统目录表中除去它的定义,所以不能显式地或隐式地调用强制转型。删除强制转型对
于强制转型相关联的用户定义的函数没有影响。使用 DROP FUNCTION 语句可从数据库中除去用
户定义的函数。
警告: 请勿删除用户 gbasedbt 拥有的内置强制转型。内置数据类型之间的字段转换需要这些强
制转型。
在给定数据类型上定义的强制转型也可以用在从该源类型创建的任何 DISTINCT 类型上。如果删
除强制转型,则无法再为 DISTINCT 类型调用它,但是删除为 DISTINCT 类型定义的强制转型对
为其源类型创建的强制转型没有影响。当创建 DISTINCT 类型时,数据库服务器会自动地定义一
个从 DISTINCT 类型到其源类型的显式强制转型以及另一个从源类型到 DISTINCT 类型的显式强
制转型。当删除 DISTINCT 类型时,数据库服务器会自动删除这两个强制转型。
如果您包含可选的 IF EXISTS 关键字,则如果在两个指定的数据类型之间的强制转型在当前数据
库中没有注册过,数据库服务器不执行任何操作(而不是向应用程序发送异常)。
示例
一个强制转型(如 superstores_demo 数据库中的这个强制转型)可以使用 DROP CAST 语句删
除 :DROP CAST (decimal(5,5) AS percent);
现有的强制转型的详细信息可以使用以下 SQL 在 syscasts 系统目录表中找到:
SELECT routine_name, class, argument_type, result_type FROM Syscasts;