- 浏览: 520880 次
- 性别:
- 来自: 深圳
文章分类
- 全部博客 (299)
- Oracle(pl/sql_Erp_Pro*C) (69)
- 设计模式 (4)
- spring (23)
- ext (17)
- apache开源项目应用 (4)
- jquery (16)
- 生活琐事 (8)
- 下载资源 (23)
- mysql (2)
- Eclipse使用积累 (5)
- 报表类(报表/图表) (13)
- php (4)
- Web多彩文本框 (3)
- json (4)
- jqgrid (2)
- ant (2)
- java算法积累 (8)
- EL表达式/JSTL (4)
- poi (3)
- gwt (2)
- 爬网第一步 (2)
- javascript (17)
- Javaweb (8)
- tomcat (1)
- flex (1)
- Java&DB (3)
- J2SE (7)
- linux (3)
- 数据结构 (1)
- dot net (5)
- struts (1)
- ibatis (1)
- log4j (1)
- 项目管理 (1)
- Java native interface(jni,jacob......) (5)
- applet (1)
- VB.net/C#.net/JNI (20)
- css (1)
- Sqlite (1)
- servlet (1)
- REST (1)
最新评论
-
wenhurena:
能不能给一下解压密码roki.work.2017@gmail. ...
Ebs解体新書と学習資料1 -
liutao1600:
楼主写的太好了,每天学习~~
Spring_MVC(6)测试 -
liutao1600:
太好了,每天学习你的文章~~~
Spring_MVC(3)表单页面处理 -
liutao1600:
学习了,太好了
Spring_MVC(2)控制层处理 -
liutao1600:
学习了~~~
Spring_MVC(1)构建简单web应用
Oracle/PLSQL: Case Statement
--------------------------------------------------------------------------------
In Oracle 9i, you can use the case statement within an SQL statement. It has the functionality of an IF-THEN-ELSE statement.
译:在Oracle 9i中,你可以在SQL语句中使用case条件。它具有IF-THEN-ELSE条件的功能。
The syntax for the case statement is:
译:语法如下
CASE expression
WHEN condition_1 THEN result_1
WHEN condition_2 THEN result_2
...
WHEN condition_n THEN result_n
ELSE result END
expression is the value that you are comparing to the list of conditions. (ie: condition_1, condition_2, ... condition_n)
译:expression就是要与条件比较的值。(例如:条件condition_1, condition_2, ... condition_n)
condition_1 to condition_n must all be the same datatype. Conditions are evaluated in the order listed. Once a condition is found to be true, the case statement will return the result and not evaluate the conditions any further.
译:条件condition_1到 condition_n必须具有相同的数据类型。条件是按列表顺序赋值,一旦一个条件为真了,case条件就会返回结果并且不会再次去执行该条件了
result_1 to result_n must all be the same datatype. This is the value returned once a condition is found to be true.
译:结果result_1到 result_必须具有相同的数据类型。一旦有条件成立,这就是返回的值。
Note:
注:
If no condition is found to be true, then the case statement will return the value in the ELSE clause.
译:如果没有找到为真的条件,case将返回ELSE条件中值。
If the ELSE clause is omitted and no condition is found to be true, then the case statement will return NULL.
译:如果省略了ELSE条件并且也没有找到为真的条件,case条件将返回NULL。
You can have up to 255 comparisons in a case statement. Each WHEN ... THEN clause is considered 2 comparisons.
译:在case条件中最多可以有255个比较,每个WHEN ... THEN子被认为两次比较。
For Example:
You could use the case statement in an SQL statement as follows:
译:你可以在SQL语句中像如下使用case语句:
select table_name,
CASE owner
WHEN 'SYS' THEN 'The owner is SYS'
WHEN 'SYSTEM' THEN 'The owner is SYSTEM'
ELSE 'The owner is another value' END
from all_tables;
The above case statement is equivalent to the following IF-THEN-ELSE statement:
译:下面的case条件等价于下面的IF-THEN-ELSE语句:
IF owner = 'SYS' THEN
result := 'The owner is SYS';
ELSIF owner = 'SYSTEM' THEN
result := 'The owner is SYSTEM'';
ELSE
result := 'The owner is another value';
END IF;
The case statement will compare each owner value, one by one.
译:case条件将一个一个的比较每个所有者的值:
One thing to note is that the ELSE clause within the case statement is optional. You could have omitted it. Let's take a look at the SQL statement above with the ELSE clause omitted.
译:要注意的一个就是ELSE在case条件中可选的,你可以省略它。让我们看一个关于上面语句省略ELSE的SQL语句。
Your SQL statement would look as follows:
select table_name,
CASE owner
WHEN 'SYS' THEN 'The owner is SYS'
WHEN 'SYSTEM' THEN 'The owner is SYSTEM' END
from all_tables;
With the ELSE clause omitted, if no condition was found to be true, the case statement would return NULL.
译:省略了ELSE条件,且没有找到为真的条件,case就会返加NULL
发表评论
-
IBatis调用ORACLE的存储过程、函数的返回结果集例子
2012-03-05 23:31 2136import java.io.Serializabl ... -
Oracle分页函数样例——用于提高当前框架分页性能
2012-03-05 23:27 1391create or replace procedure P ... -
Oracle入门课件
2011-12-11 22:43 1016下载附件 -
自己经常上的Oracle官网的一些链接~~是啥自己点开看
2011-11-17 23:27 1120http://www.oracle.com/pls/db ... -
Oracle性能诊断艺术源码
2011-08-16 00:51 882请下载。 -
oracle support
2011-06-23 16:34 926https://support.oracle.com/CSP/ ... -
oracle 11g sql code
2011-02-24 20:55 1118附件参考 -
Oracle SQL优化
2011-01-19 23:16 879详见附件。讲述优化器。 -
Oracle PGA概念及调整
2011-01-03 23:18 1751--预备知识PGA(Process Global Area), ... -
修改Oracle SGA——防止oracle内存分配不足而down机
2011-01-03 23:16 2346在安装oracle 10g r2 数据库时,默认的SGA大 ... -
oracle SGA
2011-01-03 23:14 1366系统全局区又称SGA (System Global A ... -
Oracle 高水位概念(hwm)
2010-12-22 22:09 1441说到HWM,我们首先要简要 ... -
CDC积累的plsql用的各种例子
2010-11-09 15:49 842自用,有密码!请勿浪费时间下载。 -
oracle Erp安装和具体财务模块介绍
2010-10-11 12:54 1185http://bbs.erp100.com/thread-20 ... -
Oracle察看表约束
2010-10-08 16:07 11101、我们创建的对象可以从"USER_"开通 ... -
Oracle 行列转换积累
2010-09-29 11:36 1709行列转换包括以下六种情况:*列转行*行转列*多列转换成字符串 ... -
oracle bulk collection
2010-09-14 18:26 1262Oracle Bulk Collection & ... -
oracle discover
2010-09-03 16:28 964oracle discover -
Oracle rawtohex hextoraw
2010-09-03 15:03 3196Oracle 8.1.7 SQL> ed ... -
Oracle Raw,number,varchar2转换
2010-09-03 14:56 2266Oracle Raw,number,varchar2...转换 ...
相关推荐
PLSQL支持多种流程控制结构,如IF-THEN-ELSIF-ELSE、CASE语句用于条件判断,FOR循环、WHILE循环用于迭代,以及GOTO语句进行无条件跳转。此外,还有BEGIN-END块用于封装代码,PROCEDURE和FUNCTION用于创建自定义函数...
PLSQL支持多种控制流程语句,如IF-THEN-ELSIF-ELSE、CASE、FOR循环、WHILE循环等,允许根据条件或循环结构执行不同的代码段。 函数和过程是PLSQL中的重要概念,它们可以封装复杂的操作并重复使用。函数返回一个值,...
例如,可以使用RAISE语句抛出自定义异常,或使用 WHEN OTHERS THEN 处理所有未捕获的异常。 五、游标和数据处理 游标是PLSQL中处理单行结果集的关键工具。通过声明游标,我们可以逐行处理查询结果。配合FOR循环,...
PL/SQL支持多种流程控制语句,如IF-THEN-ELSE、CASE语句、LOOP、WHILE-LOOP等。这些语句可以用来实现更复杂的逻辑处理。 ##### IF-THEN-ELSE示例 ```plsql DECLARE v_age NUMBER := 18; BEGIN IF v_age >= 18 ...
when inserting then raise_application_error(-20001, '周末不能增加员工'); when updating then raise_application_error(-20002, '周末不能修改员工'); when deleting then raise_application_error(-20003...
when n / K <= K - 1 then To_Char(n / K, '999999') || ' K' -- 其他情况 end; end Print; ``` 在这个例子中,我们定义了一个用于格式化字节数量的函数,并且可以在 SQL 查询中通过 WITH 子句使用这个函数,...
WHEN 表达式 1 THEN 语句序列 1 WHEN 表达式 2 THEN 语句序列 2 WHEN 表达式 n THEN 语句序列 n ELSE 语句序列 n+1 END CASE; ``` 在整个结构中,选择变量的值同表达式的值进行顺序匹配,如果相等,则执行相应的...
PLSQL还支持循环结构(FOR,WHILE),分支结构(IF-THEN-ELSIF-END IF,CASE),以及子程序(PROCEDURE和FUNCTION)。子程序可以封装复杂的逻辑,提高代码复用性,降低维护成本。例如,创建一个计算阶乘的函数: ``...
PLSQL提供IF-THEN-ELSIF-ELSE、CASE、WHILE和FOR循环等结构来实现逻辑控制。例如,用FOR循环遍历结果集: ```sql FOR i IN (SELECT * FROM employees) LOOP DBMS_OUTPUT.PUT_LINE(i.employee_name); END LOOP; ``` ...
2. **流程控制**:PL/SQL提供了IF-THEN-ELSIF-ELSE、CASE、FOR循环和WHILE循环等控制结构。例如,可以使用以下代码进行条件判断: ```sql IF my_num > 10 THEN -- 执行某些操作 ELSIF my_num = 10 THEN -- 执行...
- `CASE`语句:多分支选择,如`CASE expr WHEN condition1 THEN ... END CASE;` 3. 递归:通过调用自身实现的逻辑,如`PROCEDURE recursive_proc(param) IS ... END recursive_proc;` 三、PLSQL与SQL的结合 PLSQL...
4. **流程控制语句**:PLSQL提供了条件判断(IF...ELSIF...ELSE)、循环(FOR, WHILE, LOOP)和分支语句(CASE),用于控制程序流程。例如,`IF VAR > 10 THEN ... END IF;`用于进行条件判断。 5. **集合操作**:...
6. **异常处理**:通过EXCEPTION关键字,PL/SQL允许程序员定义异常处理逻辑,比如使用WHEN OTHERS THEN捕获所有未明确定义的异常。 7. **控制流语句**:包括IF-THEN-ELSIF-ELSE,CASE,FOR,WHILE等,用于控制程序...
PLSQL中的控制流程结构与许多其他编程语言类似,包括条件语句(IF-THEN-ELSIF-ELSE)、循环(WHILE、FOR)、分支语句(CASE)等。例如,一个简单的IF-THEN语句如下: ```sql IF condition THEN statement(s); END ...
- 示例:`CASE WHEN v_salary > 10000 THEN DBMS_OUTPUT.PUT_LINE('High salary.'); WHEN v_salary BETWEEN 5000 AND 10000 THEN DBMS_OUTPUT.PUT_LINE('Medium salary.'); ELSE DBMS_OUTPUT.PUT_LINE('Low salary.'...
使用BEGIN-END块内的EXCEPTION关键字,可以捕获和处理运行时错误,比如通过RAISE语句重新抛出异常或使用WHEN OTHERS THEN处理未知异常。 5. **游标**: 游标是用于遍历查询结果集的机制,允许在PL/SQL中逐行处理...
PL/SQL的控制结构包括IF-THEN-ELSIF-ELSE、CASE、FOR循环、WHILE循环等。例如,使用IF-THEN-ELSIF-ELSE结构进行条件判断: ```sql BEGIN IF condition THEN -- 执行代码块1 ELSIF another_condition THEN -- ...
- **分析**:异常处理部分使用`WHEN OTHERS THEN`来捕获所有未明确处理的异常,并进行相应的处理。 #### 四、数据类型 PL/SQL支持多种数据类型,包括但不限于: - **VARCHAR2**:可变长度的字符串。 - **NUMBER**:...
1. **基础语法**:PL/SQL的基础包括变量声明、常量定义、条件语句(IF-THEN-ELSIF-ELSE)、循环结构(FOR、WHILE)、分支语句(CASE)以及异常处理(BEGIN-EXCEPTION-END)。这些是编写任何PL/SQL程序的基础,理解...
4. **控制流语句**:学习如何使用IF-THEN-ELSIF-ELSE、CASE、WHILE、FOR循环以及GOTO语句来控制程序的流程。 5. **SQL操作**:PLSQL可以嵌入SQL语句,用于查询、插入、更新和删除数据库中的数据。例如,你可以编写...