ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
# DROP LANGUAGE ## Name DROP LANGUAGE -- 删除一个过程语言 ## Synopsis ``` DROP [ PROCEDURAL ] LANGUAGE [ IF EXISTS ] _name_ [ CASCADE | RESTRICT ] ``` ## 描述 `DROP LANGUAGE`删除曾注册过的过程语言name。 必须是超级用户或该过程语言的所有者才能使用`DROP LANGUAGE`。 > **Note:** 自PostgreSQL 9.1起,大多数过程语言成为了"extensions", 因此删除时应该使用[DROP EXTENSION](#calibre_link-46),不能使用`DROP LANGUAGE`。 ## 参数 `IF EXISTS` 如果指定的过程语言不存在,那么发出一个 notice 而不是抛出一个错误。 `_name_` 现存语言的名称。出于向下兼容的考虑,这个名字可以用单引号包围。 `CASCADE` 级联删除依赖于该语言的对象(比如该语言写的函数)。 `RESTRICT` 如果存在依赖对象,则拒绝删除。这个是缺省。 ## 例子 下面命令删除`plsample`语言: ``` DROP LANGUAGE plsample; ``` ## 兼容性 SQL 标准里没有`DROP LANGUAGE`语句。 ## 又见 [ALTER LANGUAGE](#calibre_link-604), [CREATE LANGUAGE](#calibre_link-605), [droplang](#calibre_link-37)