case when then else多个条件_Oracle数据库之PL/SQL条件控制
时间: 2023-12-20 20:00:05 浏览: 31
在Oracle数据库中,可以使用PL/SQL语言中的CASE语句实现多个条件的控制。
CASE语句的基本语法为:
```
CASE expr
WHEN value1 THEN statement1;
WHEN value2 THEN statement2;
...
[ELSE statementN;]
END CASE;
```
其中,expr是要进行判断的表达式,value1、value2等是可能的取值,statement1、statement2等是对应取值情况下要执行的语句。ELSE子句是可选的,表示当所有取值都不满足时要执行的语句。
例如,以下是一个利用CASE语句实现多个条件控制的例子:
```
DECLARE
score NUMBER := 85;
BEGIN
CASE
WHEN score >= 90 THEN DBMS_OUTPUT.PUT_LINE('优秀');
WHEN score >= 80 THEN DBMS_OUTPUT.PUT_LINE('良好');
WHEN score >= 60 THEN DBMS_OUTPUT.PUT_LINE('及格');
ELSE DBMS_OUTPUT.PUT_LINE('不及格');
END CASE;
END;
```
该代码根据score的值输出相应的评级,如果score大于等于90,则输出“优秀”,如果大于等于80,则输出“良好”,依此类推。
希望能够帮到你!
相关问题
PL/SQL入门教程
PL/SQL是一种面向对象的编程语言,主要用于Oracle数据库管理系统中的存储过程、触发器、函数等对象的开发和管理。下面是PL/SQL入门教程的一些基本内容:
1. PL/SQL基础语法:
PL/SQL程序是由一个或多个块(block)组成的。块由关键字BEGIN和END包围,可以包含变量、常量、条件语句、循环语句、异常处理等内容。例如:
```
DECLARE
v_name VARCHAR2(20) := 'John';
BEGIN
IF v_name = 'John' THEN
DBMS_OUTPUT.PUT_LINE('Hello, John!');
ELSE
DBMS_OUTPUT.PUT_LINE('Hello, ' || v_name || '!');
END IF;
END;
```
2. 变量和常量的定义和使用:
在PL/SQL中,使用关键字DECLARE来定义变量和常量,可以定义不同类型的变量和常量。例如:
```
DECLARE
v_name VARCHAR2(20) := 'John';
v_age NUMBER := 30;
c_pi CONSTANT NUMBER := 3.14;
BEGIN
DBMS_OUTPUT.PUT_LINE('Name: ' || v_name);
DBMS_OUTPUT.PUT_LINE('Age: ' || v_age);
DBMS_OUTPUT.PUT_LINE('PI: ' || c_pi);
END;
```
3. 条件语句和循环语句:
在PL/SQL中,可以使用IF、CASE、LOOP等关键字来进行条件判断和循环操作。例如:
```
DECLARE
v_score NUMBER := 80;
BEGIN
IF v_score >= 90 THEN
DBMS_OUTPUT.PUT_LINE('A');
ELSIF v_score >= 80 THEN
DBMS_OUTPUT.PUT_LINE('B');
ELSE
DBMS_OUTPUT.PUT_LINE('C');
END IF;
FOR i IN 1..5 LOOP
DBMS_OUTPUT.PUT_LINE(i);
END LOOP;
END;
```
4. 异常处理:
在PL/SQL中,可以使用EXCEPTION关键字来处理异常。可以使用RAISE或RAISE_APPLICATION_ERROR函数来抛出异常,也可以使用WHEN OTHERS THEN来捕获其他未处理的异常。例如:
```
DECLARE
v_num1 NUMBER := 10;
v_num2 NUMBER := 0;
v_result NUMBER;
BEGIN
BEGIN
v_result := v_num1 / v_num2;
EXCEPTION
WHEN ZERO_DIVIDE THEN
DBMS_OUTPUT.PUT_LINE('Divided by zero!');
END;
END;
```
以上是PL/SQL入门教程的一些基本内容,希望对你有所帮助。
oracle数据库sql语法if语句
Oracle数据库中没有if语句。但是可以使用CASE表达式来模拟if语句的功能。例如:
```
SELECT
CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
...
ELSE default_result
END
FROM table_name;
```
其中,condition1、condition2等为条件表达式,result1、result2等为对应条件的结果,default_result为所有条件都不满足时的默认结果。需要注意的是,CASE表达式只能用于查询语句中的SELECT子句、WHERE子句和HAVING子句中。在PL/SQL中,可以使用IF-THEN语句实现条件判断。例如:
```
IF condition1 THEN
statement1;
ELSIF condition2 THEN
statement2;
...
ELSE
statement_default;
END IF;
```