当前位置:首页 > 个人杂谈 > 正文内容

‘DECODE’ may be used inside a SQL statement only

作者: 葛屹肃 | 日期: 2021-12-15 | 分类: 个人杂谈

ORACLE中DECODE函数非常实用,是一个简化版的CASE WHEN THEN END的函数,使用DECODE除了代码简洁外,最重要还是逻辑更清晰,一眼能看出结果,更便于日后维护。

解决了客户的标签打印卡顿的问题

不过,DECODE的使用也有受限的,今天小编使用时,就出现以下提示错误信息:

Error: PLS-00204: function or pseudo-column ‘DECODE’ may be used inside a SQL statement only

按网上所说的,decode是SQL函数,而不是PL/SQL函数

也就是说,只有INSERT、DELETE、SELECT、UPDATE时才能使用DECODE函数,而直接赋值就不能使用了

错误方式:

S1 := DECODE(TEMP_VALUE,1,’80′,2,’90′,’100′);

正确方式:

SELECT DECODE(TEMP_VALUE,1,’80′,2,’90′,’100′) INTO S1 FROM DUAL;

以上是小编所理解的DECODE的使用方式,如有不妥之处,欢迎留言指正。

版权声明:本文由〖葛屹肃〗发布,转载请注明出处!
文章链接:https://www.geyisu.com/2313.html

  • 评论:(0)

已有 0 位网友发表了一针见血的评论,你还等什么?

◎欢迎大家参与讨论