GBase8s数据库DROP PROCEDURE 语句
2022/1/27 2:04:28
本文主要是介绍GBase8s数据库DROP PROCEDURE 语句,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
使用 DROP PROCEDURE 语句从数据库中删除用户定义的过程;
用法
删除用户定义的过程会除去该过程的文本和可执行的版本。您无法在同一个 SPL 过程内删除 SPL
过程。
不能使用 DROP ROUTINE 、DROP FUNCTION 或 DROP PROCEDURE 语句删除受保护的例
程。有关受保护的例程的更多信息,请参阅 《GBase 8s SQL 指南:参考》 中 sysprocedures 系
统目录表的描述。
要使用 DROP PROCEDURE 语句,您必须是过程的所有者并且还必须具有数据库的 Resource 权
限或 DBA 权限。您必须还需具有编写此 UDR 所使用的程序语言的 Usage 权限。要删除一个外
部用户定义的过程,另见 删除外部过程。
如果 function 或 procedure 名称在数据库中不是唯一的,则您必须指定足够的 parameter_type 信
息以区分这些名称。如果数据库服务器无法解析一个意义含糊的 UDR 名称,即它的签名与另一个
UDR 的签名只是在一个未命名的 ROW 类型参数中不同,则返回一个错误。(当定义了含义模糊
的 function 或 procedure 时,数据库服务器不能预期此错误。)
如果不知道 UDR 是用户定义的过程还是用户定义的函数,您可以使用 DROP ROUTINE 语句。
有关更多信息,请参阅 DROP ROUTINE 语句。
对于较早的 GBase 8s 版本的向后兼容性,可以使用此语句来删除由 CREATE PROCEDURE 语句创建
的 SPL 函数。您可以在过程名称的后面包括参数数据类型,以识别过程:
DROP PROCEDURE compare(int, int);
如果对用户定义的过程使用了指定的名称,还必须用关键字 SPECIFIC,如下例所示:
DROP SPECIFIC PROCEDURE compare_point;
如果您包含了可选的 IF EXISTS 关键字,则如果没有指定名称的过程在当前数据库中注册,则数
据库服务器不采取任何操作(而不是向应用程序发送错误)。
这篇关于GBase8s数据库DROP PROCEDURE 语句的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-05-15PingCAP 黄东旭参与 CCF 秀湖会议,共探开源教育未来
- 2024-05-13PingCAP 戴涛:构建面向未来的金融核心系统
- 2024-05-09flutter3.x_macos桌面os实战
- 2024-05-09Rust中的并发性:Sync 和 Send Traits
- 2024-05-08使用Ollama和OpenWebUI在CPU上玩转Meta Llama3-8B
- 2024-05-08完工标准(DoD)与验收条件(AC)究竟有什么不同?
- 2024-05-084万 star 的 NocoDB 在 sealos 上一键起,轻松把数据库编程智能表格
- 2024-05-08Mac 版Stable Diffusion WebUI的安装
- 2024-05-08解锁CodeGeeX智能问答中3项独有的隐藏技能
- 2024-05-08RAG算法优化+新增代码仓库支持,CodeGeeX的@repo功能效果提升