分支语语句
1.条件
1)IF条件判断逻辑结构
If条件判断逻辑结构有三种表达方式。
①表达式一:
<!---->IF Condition THEN
Statement;
END IF;
该表达式的功能为:若条件为真,执行then后的语句;否则,跳出条件语句执行end if后的语句。
②表达式二:
<!---->IF Condition THEN
Statements_1;
ELSE
Statements_2;
END IF;
该表达式的功能为:如果条件为真执行then后的语句,否则执行else后的语句。
③表达式三:
<!---->IF Condition1 THEN
Statements_1;
ELSEIF Condition2 THEN
Statements_2;
ELSE
Statements_3;
END IF;
该表达式的功能为:如果if后的条件成立,执行then后面的语句,否则判断elseif后面的条件,条件成立执行第二个then后面的语句,否则执行else后的语句。这是条件语句嵌套。IF 可以嵌套,可以在IF 或IF ..ELSE语句中使用IF或IF…ELSE语句。
2)CASE表达式
CASE语句的基本格式如下:
<!---->CASE Grade
WHEN 'A' THEN DBMS_OUTPUT.PUT_LINE ('Excellent');
WHEN 'B' THEN DBMS_OUTPUT.PUT_LINE ('Very Good');
WHEN 'C' THEN DBMS_OUTPUT.PUT_LINE ('Good');
WHEN 'D' THEN DBMS_OUTPUT.PUT_LINE ('Fair');
WHEN 'F' THEN DBMS_OUTPUT.PUT_LINE ('Poor');
ELSE DBMS_OUTPUT.PUT_LINE ('No such grade');
END CASE;
CASE语句的功能:首先设定变量的值作为条件,然后顺序检查表达式,一旦从中找到与条件匹配的表达式值,就停止CASE语句的处理。
2.循环
1)LOOP…EXIT…END循环控制语句
LOOP循环语句是其中最基本的一种,格式如下:
<!---->LOOP
Statements;
END LOOP;
这种循环语句是没有终止的,如果不人为控制的话,其中的Statements将会无限地执行。一般可以通过加入EXIT语句来终结该循环。
2)WHILE…LOOP循环控制语句
WHILE…LOOP循环控制语句的格式如下:
<!---->WHILE Condition
LOOP
Statements;
END LOOP;
WHILE…LOOP有一个条件与循环相联系,如果条件为TRUE,则执行循环体内的语句,如果结果为FALSE,则结束循环。
3)FOR…LOOP循环控制语句
FOR…LOOP循环控制语句的格式如下:
<!---->FOR Counter IN [REVERSE] Start_Range…End_Range
LOOP
Statements;
END LOOP;
LOOP和WHILE循环的循环次数都是不确定的,FOR循环的循环次数是固定的,Counter是一个隐式声明的变量,初始值是Start_Range,第二个值是Start_Range + 1,直到End_Range,如果Start_Range等于End _Range,那么循环将执行一次。如果使用了REVERSE关键字,那么范围将是一个降序。
3.跳转
GOTO语句的格式如下:
GOTO LABEL;
执行GOTO语句时,控制会立即转到由标签标记的语句(使用<<>>声明)。PL/SQL中对GOTO语句有一些限制,对于块、循环、IF语句而言,从外层跳转到内层是非法的。
<!---->DECLARE
X NUMBER(3);
Y NUMBER(3);
V_COUNTER NUMBER(2);
BEGIN
X := 100;
FOR V_COUNTER IN 1 .. 10 LOOP
IF V_COUNTER = 4 THEN
GOTO end_of_loop;
END IF;
X := X + 10;
END LOOP;
<<end_of_loop>>
Y := X;
dbms_output.put_line('Y:'||Y);
END;
输出结果为“Y:130”。
4.嵌套
程序块的内部可以有另一个程序块这种情况称为嵌套。嵌套要注意的是变量,定义在最外部程序块中的变量可以在所有子块中使用,如果在子块中定义了与外部程序块变量相同的变量名,在执行子块时将使用子块中定义的变量。子块中定义的变量不能被父块引用。同样GOTO语句不能由父块跳转道子块中,反之则是合法的。
分享到:
相关推荐
- 使用`regedit`打开注册表编辑器,定位到`HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE`,删除整个Oracle分支。 - 再次进入注册表编辑器,定位到`HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services`,删除所有与...
- 导航到`HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE`,删除整个Oracle分支。 3. **清除Oracle服务项**: - 转至`HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services`,删除所有与Oracle相关的子键。 4. **移除...
- 导航至`HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE`,删除整个Oracle分支。 - 继续导航到`HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services`,查找并删除所有与Oracle相关的子键。 - 接下来,前往`HKEY_LOCAL_...
- 打开注册表编辑器(`regedit`),定位到 `HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE`,并删除整个 Oracle 分支。 - 定位到 `HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services`,滚动查找并删除所有与 Oracle 相关...
- `HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE`:删除整个Oracle分支。 - `HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services`:删除所有以“oracle”或“OraWeb”开头的服务条目。 - `HKEY_LOCAL_MACHINE\SYSTEM\...
- 导航到 `HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE`,删除整个 Oracle 分支。 - 导航到 `HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services`,查找并删除所有与 Oracle 相关的条目。 #### 4. 清理 Oracle 文件夹 ...
- 导航至`HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE`,删除整个Oracle分支。 - 继续导航到`HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services`,查找并删除所有包含Oracle的条目。 - 转至`HKEY_LOCAL_MACHINE\SYSTEM...
- 导航至`HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE`,删除整个Oracle分支。 - 转至`HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services`,找到并删除所有与Oracle相关的子键。 - 进一步清理`HKEY_LOCAL_MACHINE\...
- 打开注册表编辑器(regedit),定位到HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE,删除整个Oracle分支。 - 再次定位到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services,删除所有与Oracle相关的条目。 ### 4. ...
- 导航到`HKEY_LOCAL_MACHINE\SOFTWARE\Oracle`,并删除整个Oracle分支。 - 导航到`HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services`,找到以“Oracle”开头的服务项,如“OracleService”,并删除这些键值。...
1. HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE - 删除整个Oracle分支。 2. HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ - 删除所有包含“Oracle”的子键。 3. HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\...
1. `HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE`:删除整个Oracle分支。 2. `HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services`:滚动浏览并删除所有Oracle相关服务的条目。 3. `HKEY_LOCAL_MACHINE\SYSTEM\...
运行“regedit”打开注册表编辑器,定位至`HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE`,将整个Oracle分支删除。接着,转至`HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services`,删除所有Oracle相关的服务条目。最后...
Oracle虽然主要以二进制形式提供,但开源的Oracle分支如OpenJDK和Berkeley DB等可以帮助开发者了解其底层运作。 另一个标签“工具”则涵盖了Oracle提供的多种开发和管理工具,例如SQL Developer(用于编写SQL查询)...
Oracle数据库在处理错误和异常时有一套完整的机制,这些异常主要分为预定义异常和自定义异常。预定义异常是Oracle系统已经内置的一些常见错误,它们都有对应的错误代码(ORA-xxx)。下面,我们将深入探讨一些常见的...
对于IT专业人士来说,了解这些步骤是必须的,因为Oracle数据库管理是数据库管理领域中的一个重要分支。同时,从文档中我们可以了解到Linux系统配置、软件包管理、系统优化、环境变量配置等IT基础知识点。掌握这些...
首先,ODAC是ZeosLib项目的分支,专门为Delphi和C++Builder开发者提供了一套全面的Oracle数据库访问组件。它提供了与Oracle数据库交互的接口,包括数据查询、更新、插入和删除等操作,支持多种Oracle特性,如PL/SQL...
CentOS 是一个基于 Linux 的操作系统,它是 Red Hat Enterprise Linux 的一个分支版本。CentOS 是开源免费的,官方要求的版本没有包括它,但是它其实就等于 Red Hat Enterprise 5 update 3。 Oracle 简介 Oracle ...