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语句里面列的名字可以不用写吧。
展开
4个回答
展开全部
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;
这个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;
展开全部
insert into yangao( 对应字段名称1, 对应字段名称2, 对应字段名称3)
select 4,NULL,1 from yangao where AGE3=4 and rownum =1
select 4,NULL,1 from yangao where AGE3=4 and rownum =1
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
IF EXISTS (SELECT * FROM YANGAO WHERE AGE3 =4)
BEGIN
INSERT INTO YANGAO VALUES (4,NULL,1)
END
BEGIN
INSERT INTO YANGAO VALUES (4,NULL,1)
END
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
可以用case when then else end试试
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询