oracle 有if语句吗,oracle的if语句

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 语句问题

oracle跟sqlserver不同

if 后 then就可以

而sqlserver中

if 后不跟then ,而是跟begin 。.end;

所以你第一个是对的,第二个应该会报错的

同时update后需要commit;这个lz需要注意一下,否则只在当前会话中update生效,重新再开一个会话还会发现数据没写进去

还有,你select 。into那句,xx必须只能是一个值,不能是一列里N多条记录,否则一个变量不能存放N条数据,如果这种情况得需要用游标来处理

oracle 视图 if 语句的使用

Create Or Replace View mark_vAsSelect Id,Case score When '优' Then '90' When '中' Then '75' When '差' Then '30' Else score End As scoreFrom mark或者还有个简单的写法:Create Or Replace View mark_vAsSelect Id,decode(score,'优','90','中','75','差','30',score) As scoreFrom mark以上希望对你有所帮助。

ORACLE sql 里面可以用if 语句吗

insert 语句中值的顺序如果和表结构一致可以省略列名列表。

这个SQL的意思没看懂,我给分析一下看对不对,

你是不是想表达这个意思:

如果在yangao这个表中存在age3=4的数据,那么,就向yangao中插入一行数据,行数据的内容是(4,NULL,1).

如果是这样的话,那么IF用的是不对的。

在SQL里面条件的关键字是WHERE。

insert into yangao values(4,NULL,1)

where exists (select * from yangao where(AGE3=4));

commit;

但如果你想表达的是:

在yangao表中插入一条数据,如果存在(select * from yangao where(AGE3=4)) 这样的数据就提交的话,那么应该这么写:

insert into yangao values (4, NULL, 1);

select count(*) into n_count from yangao where (AGE3 = 4);

if n_count > 0 then

commit;

end if;

ORACLE中触发器的判断IF语句

加一行 NULL 即可例如:SQL> DECLARE 2 testvalue INT; 3 BEGIN 4 testvalue := 200; 5 6 IF testvalue > 100 THEN 7 8 ELSIF testvalue = 100 THEN 9 dbms_output.put_line( '100' ); 10 ELSE 11 dbms_output.put_line( '100-' ); 12 END IF; 13 14 END; 15 / ELSIF testvalue = 100 THEN *ERROR 位于第 8 行:ORA-06550: 第 8 行, 第 9 列:PLS-00103: 出现符号 "TESTVALUE"在需要下列之一时::= . ( @% ;ORA-06550: 第 14 行, 第 4 列:PLS-00103: 出现符号 ";"在需要下列之一时:if上面的例子, 可以看出,如果 IF ELSE 里面, 没有内容, 那么编译不通过。

下面是 加一行 NULL 通过的例子:SQL> DECLARE 2 testvalue INT; 3 BEGIN 4 testvalue := 200; 5 6 IF testvalue > 100 THEN 7 NULL; 8 ELSIF testvalue = 100 THEN 9 dbms_output.put_line( '100' ); 10 ELSE 11 dbms_output.put_line( '100-' ); 12 END IF; 13 14 END; 15 /PL/SQL 过程已成功完成。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值