oracle package 中定义的变量,在其它函数中是否可以直接用?

时间:2022-10-28 18:48:29
一个包中定义的变量,能否在它没有声名的函数中调用此变量??


谢谢。

2 个解决方案

#1


可以,声明一个公有变量 就可以了
1.定义 
a.包的定义---java中接口 
CREATE [OR REPLACE] PACKAGE package_name 
  {IS | AS} 
   [公有数据类型定义[公有数据类型定义]…] 
   [公有游标声明[公有游标声明]…] 
   [公有变量、常量声明[公有变量、常量声明]…] 
   [公有子程序声明[公有子程序声明]…] 
  END [package_name]; 
b.包体的定义-----java的实现类 
CREATE [OR REPLACE] PACKAGE BODY package_name 
  {IS | AS} 
   [私有数据类型定义[私有数据类型定义]…] 
   [私有变量、常量声明[私有变量、常量声明]…] 
   [私有子程序声明和定义[私有子程序声明和定义]…] 
   [公有子程序定义[公有子程序定义]…] 
  BEGIN 
   PL/SQL 语句 
  END [package_name]; 
  其中:在包主体定义公有程序时,它们必须与包定义中所声明子程序的格式完全一致. 包定义和包主体分开编译,并作为两部分分开的对象存放在数据库字典中.(包定义一定要在包主体前面,包主体可以没有,但包定义一定要有) 
如果定义变量中有关键字constant,这是一个常数. 

#2


引用 楼主 zhouhaochen 的回复:
一个包中定义的变量,能否在它没有声名的函数中调用此变量??


谢谢。

没问题的
可以用的

#1


可以,声明一个公有变量 就可以了
1.定义 
a.包的定义---java中接口 
CREATE [OR REPLACE] PACKAGE package_name 
  {IS | AS} 
   [公有数据类型定义[公有数据类型定义]…] 
   [公有游标声明[公有游标声明]…] 
   [公有变量、常量声明[公有变量、常量声明]…] 
   [公有子程序声明[公有子程序声明]…] 
  END [package_name]; 
b.包体的定义-----java的实现类 
CREATE [OR REPLACE] PACKAGE BODY package_name 
  {IS | AS} 
   [私有数据类型定义[私有数据类型定义]…] 
   [私有变量、常量声明[私有变量、常量声明]…] 
   [私有子程序声明和定义[私有子程序声明和定义]…] 
   [公有子程序定义[公有子程序定义]…] 
  BEGIN 
   PL/SQL 语句 
  END [package_name]; 
  其中:在包主体定义公有程序时,它们必须与包定义中所声明子程序的格式完全一致. 包定义和包主体分开编译,并作为两部分分开的对象存放在数据库字典中.(包定义一定要在包主体前面,包主体可以没有,但包定义一定要有) 
如果定义变量中有关键字constant,这是一个常数. 

#2


引用 楼主 zhouhaochen 的回复:
一个包中定义的变量,能否在它没有声名的函数中调用此变量??


谢谢。

没问题的
可以用的