oracle存储过程技术怎么就那么不规范?if else if 再多个else if就不能用了?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了oracle存储过程技术怎么就那么不规范?if else if 再多个else if就不能用了?相关的知识,希望对你有一定的参考价值。

if title_b is not null and title_b != ' ' and title_s is not null and
title_s != ' ' then
title := '从' || dqmc || '所辖县级子公司四个维度2014年上半年平均得分来看,' || title_b ||
'维度管理水平较2013年上半年有所提升,' || title_s || '维度管理水平较2013年上半年有所下降。';
else
if title_b is not null and title_b != ' ' then
title := '从' || dqmc || '所辖县级子公司四个维度2014年上半年平均得分来看,' || title_b ||
'维度管理水平较2013年上半年有所提升。';
end if;
--else 注释部分
--if title_s is not null and title_s != ' ' then
--title := '从' || dqmc || '局所辖县级子公司四个维度2014年上半年平均得分来看,' || title_s ||
--'维度管理水平较2013年上半年有所下降。';
--end if;
end if;

注释部分一加上就编译不通过 ~~

按照下列语句改一下试一下:

if title_b is not null and title_b != ' ' and title_s is not null and
title_s != ' ' then
title := '从' || dqmc || '所辖县级子公司四个维度2014年上半年平均得分来看,' || title_b ||
'维度管理水平较2013年上半年有所提升,' || title_s || '维度管理水平较2013年上半年有所下降。';
else
if title_b is not null and title_b != ' ' then
title := '从' || dqmc || '所辖县级子公司四个维度2014年上半年平均得分来看,' || title_b ||
'维度管理水平较2013年上半年有所提升。';
else 注释部分
if title_s is not null and title_s != ' ' then
title := '从' || dqmc || '局所辖县级子公司四个维度2014年上半年平均得分来看,' || title_s ||
'维度管理水平较2013年上半年有所下降。';
end if;
end if;

看一看行不行。
参考技术A 个人认为oracle的proc是所有主流数据库中可读性最高的
你用下面这个框架
if ... then
...
elsif ... then
...
elsif ... then
..
else
...
end if;

oracle存储过程中,调用同义词报表和视图不存在。

一条语句 查询的表是 该用户下的一个同义词的表。在plsql中是可以查询到数据的。
但是放入到存储过程中。报错。表和视图不存在。
我在前面加了 该同义词的 用户名.此表 。还是报错。
请问,怎么解决在oracle存储过程中怎么调用同义词的表?

应该是细节的问题.看看你当前连接的用户和角色以及相关权限.
比如,你说的"在plsql中是可以查询到数据的",那就看看此时连接的用户和它的角色,再对比过程所属的用户和权限.
参考技术A 同义词不要用Public,就可以顺利访问 参考技术B 可以调用啊,不知道你过程里是怎么写的

以上是关于oracle存储过程技术怎么就那么不规范?if else if 再多个else if就不能用了?的主要内容,如果未能解决你的问题,请参考以下文章

oracle 存储过程里的if else

oracle存储过程中写IF ELES

Oracle存储过程——日常记录

oracle 怎么在存储过程中创建一个临时表,在里面插入数据,再查找这个临时表的所有数据,最后drop这个表。

oracle储存过程中,if条件为某变量不等于1,怎么写

oracle存储过程里调用存储过程