ORACLE sql 里面可以用if 语句吗?语法是什么?

insert into yangao values(4,NULL,1) if exists (select * from yangao where(AGE3=4)) commit;这个要怎么写?insert语句里面列的名字可以不用写吧。

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;
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-02-24
insert into yangao( 对应字段名称1, 对应字段名称2, 对应字段名称3)
select 4,NULL,1 from yangao where AGE3=4 and rownum =1
第2个回答  2012-02-29
IF EXISTS (SELECT * FROM YANGAO WHERE AGE3 =4)
BEGIN
INSERT INTO YANGAO VALUES (4,NULL,1)
END
第3个回答  2012-02-27
可以用case when then else end试试

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网