前两天在写存储过程时遇到一个奇怪的问题,在编译时,oracle 9 总是莫名奇妙的死
锁,再用toad打开该存过等待时间具长,再编译依然是未响应。只能重启数据库。后来把库导
入到10g中,能正常编译。但是服务器上的库是9i,部署时依然有问题。
接下来发现是decode函数的错误,里面使用了
select decode(c_wkpjc,'已核减',1,'无收入',2,'已开票,需核减',3,'未出账,出账后可开票',4,'合同未签,延误出
账',5,'对账中',6,'已正常开票',7,'其他',8,0) into v_wkpjc from dual ;
这样一句,想代替长长的 if then else 的语句,就是这句编译不过去,而下面:
select decode(c_wkpjc,'已',1,'无',2,'已',3,'未',4,'合',5,'对',6,'已',7,'其',8,0) into v_wkpjc from dual ;
这句能编译,不得已又只能改为if else 判断了。具体什么原因还不知道,先记录下来。
分享到:
相关推荐
关于oracle decode函数的用法
Oracle中Decode()函数使用技巧
NULL 博文链接:https://lisanlai.iteye.com/blog/793404
oracle中decode()函数使用技巧 很有帮助的哦
Oracle中Decode()函数使用技巧Oracle中Decode()函数使用技巧Oracle中Decode()函数使用技巧
decode(条件,值1,返回值1,值2,返回值2,…值n,返回值n,缺省值) 该函数的含义如下: IF 条件=值1 THEN RETURN(翻译值1) ELSIF 条件=值2 THEN RETURN(翻译值2) ...... ELSIF 条件=值n THEN RETURN(翻译值n) ...
DECODE函数相当于一条件语句(IF).它将输入数值与函数中的参数列表相比较,根据输入值返回一个对应值。
主要作用:将查询结果翻译成其他值(即以其他形式表现...Select decode(columnname,值1,翻译值1,值2,翻译值2,...值n,翻译值n,缺省值) From talbename Where … 其中columnname为要选择的table中所定义的column,
Oracle DECODE函数功能很强,下面就为您详细介绍Oracle DECODE函数的用法,希望可以让您对Oracle DECODE函数有更多的了解。 Oracle DECODE函数 Oracle DECODE函数是Oracle公司独家提供的功能,它是一个功能很强的...
Oracle中Decode()函数的有关用法Oracle中Decode()函数的有关用法
decode函数.docx
本文讲述了Oracle-Decode()函数和CASE语句的比较。
主要介绍了oracle中decode函数的使用方法,需要的朋友可以参考下
1 DECODE 中的if-then-else逻辑 在逻辑编程中,经常用到If – Then –Else 进行逻辑判断。在DECODE的语法中,实际上就是这样的逻辑处理过程。
§13.2.1 使用函数索引 165 §13.2.2 使用位图索引- 166 §13.2.3 使用B树索引- 166 §13.2.4 使用反向键索引- 166 §13.2.5 使用索引组织表 166 §13.3 使用范围索引 166 §13.4 使用簇 - 167 §13.5 使用Hash 簇 -...
博客:PostgreSQL的学习心得和知识总结(四十四)|语法级自上而下完美实现Oracle数据库DECODE函数的实现方案(GreenPlum & AntDB)
DECODE()函数,它将输入数值与函数中的参数列表相比较,根据输入值返回一个对应值。区别于SQL的其它函数,DECODE函数还能识别和操作空值。本文详细介绍了DECODE函数的语法。
主要介绍了oracle中decode函数的使用方法示例,还是比较不错的,这里分享给大家,供需要的朋友参考。
Decode函数的语法结构如下: 代码如下:decode (expression, search_1, result_1)decode (expression, search_1, result_1, search_2, result_2)decode (expression, search_1, result_1, search_2, result_2, …., ...