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

insertintoyangaovalues(4,NULL,1)ifexists(select*fromyangaowhere(AGE3=4))commit;这个要怎么写... insert into yangao values(4,NULL,1) if exists (select * from yangao where(AGE3=4)) commit;这个要怎么写?insert语句里面列的名字可以不用写吧。 展开
 我来答
永恒度兰宁
2012-02-24 · TA获得超过153个赞
知道小有建树答主
回答量:165
采纳率:0%
帮助的人:137万
展开全部
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;
换宝之家
2012-02-24 · TA获得超过254个赞
知道答主
回答量:165
采纳率:0%
帮助的人:92.2万
展开全部
insert into yangao( 对应字段名称1, 对应字段名称2, 对应字段名称3)
select 4,NULL,1 from yangao where AGE3=4 and rownum =1
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wttlzx82
2012-02-29 · TA获得超过266个赞
知道答主
回答量:174
采纳率:0%
帮助的人:105万
展开全部
IF EXISTS (SELECT * FROM YANGAO WHERE AGE3 =4)
BEGIN
INSERT INTO YANGAO VALUES (4,NULL,1)
END
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
woaigigi66
2012-02-27 · TA获得超过176个赞
知道答主
回答量:75
采纳率:100%
帮助的人:45.3万
展开全部
可以用case when then else end试试
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式