日期:2014-05-16  浏览次数:20801 次

是否有类似decode的过程
oracle的存储过程能否有类似decode那样的不定数量和类型的参数的过程?
------解决方案--------------------
引用:
没人知道oracle内置函数的原理么?decode可以输入任意数量的参数,min,max等都可以输入任何类型的参数,难道自己写的过程里就做不到这些么


任何类型很简单,写到包里,包内重载。
任意个数?你是没试过吧,你输入十万个参数试试。
一定范围内任意个数很简单,
create or replace procedure pro_i_am_max(p1 in varchar2,p2 in varchar2 default '',p3 in varchar2 default ''..
p256 in varchar2 default '') as...


但是,里面就不好写了,人家内部函数可以直接用高级语言调地址,你一个用PL/SQL写的函数还得用参数名,累也累死了,用context还稍稍能看,也麻烦。

引用:
另外再问下oracle有析构函数么?


没有。好多高级语言都没有,一个PL/SQL为什么要有。
对象有成员函数可以用来写析构,过程结束后可以调用审计功能,写个类似触发器的东西。