暂无图片
oracle的存储过程在什么情况下,可以省略declare?
我来答
分享
暂无图片 匿名用户
oracle的存储过程在什么情况下,可以省略declare?

oracle的存储过程在什么情况下,可以省略declare?

我来答
添加附件
收藏
分享
问题补充
3条回答
默认
最新
护苗使者9G

使用declare或begin关键字开头的叫匿名块,每次使用均需要进行编译,不能存储在数据库中且不能被其他PL/SQL调用。
而存储过程,存储函数,触发器等叫命名块,一经编译后面就可直接调用,且可以存储在数据库中,被其他PL/SQL 调用。

declare 用来定义变量

暂无图片 评论
暂无图片 有用 0
暂无图片
Uncopyrightable

需要定义变量时才用到declare?

暂无图片 评论
暂无图片 有用 0
DarkAthena

给你个例子,应该一看就懂了,下面是一个过程

create or replace procedure test_p is ---此处不能有declare i int; begin declare--要定义局部变量,此处必须加declare m int;--此变量仅在这一个begin end中间生效 begin m:=0; end; ---此处不定义局部变量,因此不需要加declare begin i:=1; end; end;
暂无图片 评论
暂无图片 有用 0
回答交流
提交
问题信息
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~
暂无图片墨值悬赏