大家好,欢迎来到IT知识分享网。
oracle 存储过程中 如果用if语句判断一条查询语句的结果集是否为空
已经经过测试,可以。
create table test1023(id int); –创建测试表 test1023
declare cnt int;
begin
select count(*) into cnt from test1023;
if cnt=0 then
insert into test1023 values(‘1’);
commit;
end if;
end;
oracle存储过程IF判断问题
你的IF 逻辑有问题:当输入37的时候 flag>5 肯定结果是1,不会进入else了。
你可以再第一行加上FLAG当然你下面的逻辑还有问题,你自己去琢磨琢磨,根据你的需求慢慢改吧!
IF FLAG>5 and FLAGV_VALUE :=1;
ELSIF FLAG>10 THEN
V_VALUE :=2;
ELSIF FLAGV_VALUE :=3;
ELSIF FLAGV_VALUE :=4;
ELSE V_VALUE :=5;
END IF;
实在搞不懂逻辑,可以用switch……case……这样清晰些。
oracle怎么写IF语句
如果是 SQL 语句里面使用。
使用 DECODE 或者 CASE WHEN
DECODE 的用法就是
DECODE(abc, 50, ‘A’, ‘B’)
CASE WHEN 的用法就是
CASE WHEN abc=50 THEN ‘A’ ELSE ‘B’ END
如果是在存储过程里面的话,就是简单的 IF/ELSE 了
SQL 语句的话,就是
SELECT
abc, DECODE(abc, 50, ‘A’, ‘B’)
FROM
表
oracle 存储过程里的if else
create or replace procedure p_run_temp as
S_DATE:=to_number(to_char(sysdate,’d’),’9′);–查询下to_char这个函数是否有问题
begin
if S_date=4 then
p_temp();
else
p_temp2();
end if ;
end p_run_temp;
存储过程一般用AS。而且题中的存储过程语法也有问题。
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/16110.html