请教包头和包体定义的变量有什么区别?

[复制链接]
查看11 | 回复4 | 2007-10-20 08:38:44 | 显示全部楼层 |阅读模式
请教包头和包体定义的数组变量有什么区别?
如果我在一个函数里给这个数组赋值了,那么函数调用结束后,这个数组的元素还存在吗?
回复

使用道具 举报

千问 | 2007-10-20 08:38:44 | 显示全部楼层
不知道
[ 本帖最后由 nirvanv 于 2009-8-12 22:21 编辑 ]
回复

使用道具 举报

千问 | 2007-10-20 08:38:44 | 显示全部楼层
当然存在
你可以用
select mypkg.v1 from dual输出
回复

使用道具 举报

千问 | 2007-10-20 08:38:44 | 显示全部楼层
楼上的意思是,在一个会话里,
调完mypkg.func1()后,
再select mypkg.v1 from dual可以查出之前在函数里给v1赋的值吗?
没用过,能不能简单解释一下为什么?
另外,楼主问的包头和包体定义的变量,是指在定义在包头和包体里的包变量有什么区别吧?
好像有的TYPE只能定义在包头,其它的定义在包头包体有什么区别,同问,顶
回复

使用道具 举报

千问 | 2007-10-20 08:38:44 | 显示全部楼层
原帖由 〇〇 于 2009-8-12 20:37 发表
当然存在
你可以用
select mypkg.v1 from dual输出

这是不行的。
你必须写一个函数返回mypkg.v1才可在SQL中使用。
包头的变量对其他包可见,包体变量只对本包可见。它们都是SESSION级的共享变量,不会自动清除。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行