oracle 分支语句
时间: 2023-09-18 08:12:44 浏览: 86
oracle语句
Oracle 分支语句主要包括 IF-THEN-ELSE 语句和 CASE 语句。
1. IF-THEN-ELSE 语句:
IF-THEN-ELSE 语句用于根据条件选择性地执行不同的代码块。语法如下:
```
IF condition THEN
-- 在条件为真时执行的代码
ELSE
-- 在条件为假时执行的代码
END IF;
```
示例:
```
DECLARE
num NUMBER := 10;
BEGIN
IF num > 0 THEN
DBMS_OUTPUT.PUT_LINE('Number is positive');
ELSE
DBMS_OUTPUT.PUT_LINE('Number is non-positive');
END IF;
END;
```
2. CASE 语句:
CASE 语句用于根据一个或多个表达式的值选择性地执行不同的代码块。它有两种形式:简单 CASE 和搜索 CASE。
- 简单 CASE 语句的语法如下:
```
CASE expression
WHEN value1 THEN
-- 在 expression 等于 value1 时执行的代码
WHEN value2 THEN
-- 在 expression 等于 value2 时执行的代码
...
ELSE
-- 在 expression 不等于任何指定值时执行的代码
END CASE;
```
示例:
```
DECLARE
grade CHAR := 'A';
BEGIN
CASE grade
WHEN 'A' THEN
DBMS_OUTPUT.PUT_LINE('Excellent');
WHEN 'B' THEN
DBMS_OUTPUT.PUT_LINE('Good');
WHEN 'C' THEN
DBMS_OUTPUT.PUT_LINE('Average');
ELSE
DBMS_OUTPUT.PUT_LINE('Fail');
END CASE;
END;
```
- 搜索 CASE 语句的语法如下:
```
CASE
WHEN condition1 THEN
-- 在 condition1 为真时执行的代码
WHEN condition2 THEN
-- 在 condition2 为真时执行的代码
...
ELSE
-- 在所有条件都为假时执行的代码
END CASE;
```
示例:
```
DECLARE
num NUMBER := 10;
BEGIN
CASE
WHEN num > 0 THEN
DBMS_OUTPUT.PUT_LINE('Number is positive');
WHEN num < 0 THEN
DBMS_OUTPUT.PUT_LINE('Number is negative');
ELSE
DBMS_OUTPUT.PUT_LINE('Number is zero');
END CASE;
END;
```
这些是 Oracle 数据库中常用的分支语句,可以根据条件来选择性地执行不同的代码块。
阅读全文