ALTER TYPE

Name

ALTER TYPE --  修改一个类型的定义

Synopsis

ALTER TYPE name RENAME TO new_name
ALTER TYPE name OWNER TO new_owner 
ALTER TYPE name SET SCHEMA new_schema

描述

ALTER TYPE改变一个现存类型的定义。

要使用ALTER TYPE,你必须拥有该类型。 要修改一个类型的模式,你还必须在新模式上拥有CREATE权限。 要修改所有者,你还必须是新的所有角色的直接或间接成员, 并且该成员必须在此类型的模式上有CREATE权限。 这些限制强制了修改该所有者不会做任何通过删除和重建类型不能做的事情。 不过,超级用户可以以任何方式修改任意类型的所有权。

参数

name

一个需要修改的现有的类型的名字(可以有模式修饰)

new_name

该类型的新名称。

new_owner

新所有者的用户名

new_schema

该类型的新模式

例子

重命名数据类型:

ALTER TYPE electronic_mail RENAME TO email;

要改变一个用户定义类型email的所有者为joe:

ALTER TYPE email OWNER TO joe;

把用户定义类型email的模式改变为customers

ALTER TYPE email SET SCHEMA customers;

兼容性

SQL标准里没有ALTER TYPE语句。