PL/SQL与SQL(Oracle)Case语句
2015-09-02 09:04
543 查看
(使用scott账户下的表)
1.Oracle SQL语句的case语句写法:
2.PL/SQL语句的case语句写法:
plsql中语法1:
plsql中语法2:
PLSQL中的case可用于分支判断并<返回>,也可以用于分支判断<执行>
用case判断,并把返回值赋给某变量
用case判断,并在分支中给某变量赋值
有待完善….
1.Oracle SQL语句的case语句写法:
--sql中的case用于分支判断并返回某个值。 select empno , ename, deptno , case deptno when 10 then '总经办' when 20 then '综管部' when 30 then '市场部' else '其他' end from emp; select empno , ename, deptno , case when deptno=10 then '总经办' when deptno=20 then '综管部' when deptno=30 then '市场部' else '其他' end from emp;
2.PL/SQL语句的case语句写法:
plsql中语法1:
case 字段|变量 when 比对值 then 执行语句...; [when 比对值 then 执行语句...;] [else 执行语句... ;]
plsql中语法2:
case when 表达式 then 执行语句...; [when 表达式 then 执行语句...;] [else 执行语句... ;] end case;
PLSQL中的case可用于分支判断并<返回>,也可以用于分支判断<执行>
用case判断,并把返回值赋给某变量
declare v_dname varchar(20); v_deptno int:=10; begin v_dname := case v_deptno when 10 then '总经办' --返回值不要分号 when 20 then '综管部' when 30 then '市场部' else '其他' end; --case结束时只用end dbms_output.put_line(v_dname); end; declare v_dname varchar(20); v_deptno int:=10; begin v_dname := case when v_deptno=10 then '总经办' when v_deptno=20 then '综管部' when v_deptno=30 then '市场部' else '其他' end; dbms_output.put_line(v_dname); end;
用case判断,并在分支中给某变量赋值
declare v_dname varchar(20); v_deptno int:=10; begin case v_deptno when 10 then v_dname:='总经办'; --分支判断中执行,分号结束 when 20 then v_dname:='综管部'; when 30 then v_dname:='市场部'; else v_dname:='其他'; end case; -- case结束时要end case; dbms_output.put_line(v_dname); end; declare v_dname varchar(20); v_deptno int:=10; begin case when v_deptno=10 then v_dname:='总经办'; when v_deptno=20 then v_dname:='综管部'; when v_deptno=30 then v_dname:='市场部'; else v_dname:='其他'; end case; dbms_output.put_line(v_dname); end;
有待完善….
相关文章推荐
- Oracle数据库远程连接的方法
- Oracle 11g sys,system,scott密码重新设置方法
- 对比Oracle临时表和SQL Server临时表的不同点
- 详解Oracle数据库各类控制语句的使用
- oracle数据库导入导出imp/exp
- Win8 安装64位Oracle11g R2
- oracle闪回(flashback)
- Oracle学习笔记20150901脏读不可重复读以及幻读概念理解
- Oracle 递归查询
- Oracle数据库修改字段长度
- 浅谈Oracle12c 数据库、用户、CDB与PDB之间的关系
- oracle查看表占用磁盘空间
- 关于Oracle GoldenGate 参数TRANLOGOPTIONS altarchivelogdest
- oracle快速复制表数据
- oracle11g dataguard安装实施
- oracle 学习sql
- Oracle数据库直连IO异常,更改localhost为本机IP地址后运行正常
- oracle OCCI编程
- ORACLE索引失效原因归纳[转]
- oracle 函数 WMSYS.WM_CONCAT 的用法 与 mysql 函数GROUP_CONCAT的用法