update tb set studystatus = '002' where exsist ( select c.courseid from tb c where c.courseid = tb.courseid and c.studystatus = '002' ) and studystatus != '002';
你是要修改查询到的结果? 可以在查询语句中使用case when来根据条件得到不同的值: select s.courseid, case when exists (select c.courseid from tb c where c.courseid = s.courseid and c.studystatus = '002' and rownum < 2) then '002' else s.studystatus end as studystatus from tb s; 这个是不是你想要的?
4. oracle sql语句时间条件
where time beeen '08:00' and '18:00'
以上是大概意思,具体时间的表示方法要根据数据库时间字段的类型和格式来。
5. 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)); mit; 但如果你想表达的是: 在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 mit; end if;
******************* plsql写法: ******************* 1、在sqlplus 中定义一个 游标变量 var p_cursor refcursor
2、写一个plsql过程块 declare sql_str varchar(1000) := ' '; begin if 2 > 1 then sql_str := 'select * from student where Name=''小王'''; else sql_str := 'select * from student where Name=''小李'''; end if; open :p_cursor for sql_str; end;
3、在sqlplus中打印输出结果 print p_cursor;
*************** 补充:有点错误修正了下 ***************
--- 以上,希望对你有所帮助。
9. Oracle sql查询 in 条件语句
你这样的语句本身应该是有问题的吧,你是想要实现什么样的效果,如果只是想找出tableName表中不同的id,可以这样查: select distinct id from tableName;
10. Oracle SQL语句实现按条件表达式更新列数据
update .. set col_length=(length(col_number)-4)/2+1