首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >表单6i中的光标

表单6i中的光标
EN

Stack Overflow用户
提问于 2010-09-09 12:50:23
回答 2查看 1.4K关注 0票数 0

我正在处理表格6i。我想在游标中使用case表达式。但是代码不能编译。

Forms 6i不支持游标中的case表达式吗?有没有其他的方法来写形式的case表达式?

EN

回答 2

Stack Overflow用户

发布于 2010-09-09 15:36:58

在我能想到的几乎所有情况下,您都可以使用嵌套的decode代替case

而不是

代码语言:javascript
复制
 select case when a=1 then 'foo'
             when b>2 then 'bar'
             else 'foobar' end
   from xyz;

你可以写

代码语言:javascript
复制
 select decode(a,1,        'foo',
        decode(sign(b-2),1,'bar',
                           'foobar')) from xyz;

另一种可能是创建一个数据库视图并在forms中使用它,这样forms 6i就永远看不到case了。

票数 3
EN

Stack Overflow用户

发布于 2010-09-09 15:30:11

这是因为Form6i中使用的pl/sql引擎是“旧的”,并且在开发它时并不知道CASE语句。(我记得,服务器端pl/sql只在Oracle9i中引入了CASE语句)

我没有form builder 9i的副本,所以无法对该版本发表评论,但在Form10g及更高版本中提供了CASE语句。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3673854

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档