oracle存储过程if的使用,oracle存储过程if语句
oracle 存储过程中 如果用if语句判断一条查询语句的结果集是否为空已经经过测试,可以。create table test1023(id int); --创建测试表 test1023declare cnt int;beginselect count(*) into cnt from test1023;if cnt=0 theninsert into test1023 values('1');c
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。而且题中的存储过程语法也有问题。
更多推荐
所有评论(0)