最近在试着重新看下pl/sql,印象中pl/sql的if语句后面是可以跟elseif的。写了个简单的判断数字大小的语句:
declare v_id number; begin v_id := &id; if v_id < 10 then dbms_output.put_line('the value is:' || v_id || ' it''s true that the value less than 10 '); elseif v_id < 20 then dbms_output.put_line('the value is:' || v_id || ' it''s true that the value is less than20 '); elseif v_id < 30 then dbms_output.put_line('the value is:' || v_id || ' it''s true that the value is less than 30 '); end if; end;
在pl/sql下面elseif不变色,试着运行,直接报错了,从报错信息上看,在elseif附近存在错误,第一感觉是pl/sql 下elseif不是关键字,而是把elseif拆成else if,这样就ok了
set serveroutput on; declare v_id number; begin v_id := &id; if v_id < 10 then dbms_output.put_line('the value is:' || v_id || ' it''s true that the value is less than 10 '); else if v_id < 20 then dbms_output.put_line('the value is:' || v_id || ' it''s true that the value is less than 20 '); else if v_id < 30 then dbms_output.put_line('the value is:' || v_id || ' it''s true that the value is less than 30 '); else dbms_output.put_line('the value is:' || v_id || ' it''s true that the value is greater than 30 '); end if; end if; end if; end;
这样写要特别注意end if和if的对应关系,一不小心漏掉一个end if就错了,有没有简单点的写法呢?
其实pl/sql是支持else if这样的语法的,不过不是elseif,而是elsif,else少了一个e,用elsif写就是下面这样:
set serveroutput on; declare v_id number; begin v_id := &id; if v_id < 10 then dbms_output.put_line('the value is:' || v_id || ' it''s true that the value is less than 10 '); elsif v_id < 20 then dbms_output.put_line('the value is:' || v_id || ' it''s true that the value is less than 20 '); elsif v_id < 30 then dbms_output.put_line('the value is:' || v_id || ' it''s true that the value is less than 30 '); else dbms_output.put_line('the value is:' || v_id || ' it''s true that the value is greater than 30 '); end if; end;
我上面的是在cmd window下运行的,如果想直接在sql window下按F8运行,请去掉:
set serveroutput on;
如下所示:
使用elsif写感觉简洁多了,elsif的语法如下:
IF THEN --do something... ELSIF THEN --do something... ELSIF THEN --do something... ELSE --do something... END IF;
全文完。
相关推荐
2. **流程控制语句**:具备IF-THEN-ELSIF-ELSE、CASE、FOR循环、WHILE循环等结构,用于控制程序的执行流程。 3. **异常处理**:通过BEGIN-EXCEPTION-END块可以捕获和处理运行时错误,增强程序的健壮性。 4. **游标...
- **流程控制**:包括IF...ELSIF...ELSE、CASE、FOR循环、WHILE循环等结构。 2. **PL/SQL程序单元** - **存储过程**:一组PL/SQL语句,可重复调用,提高代码复用性。 - **函数**:类似于过程,但返回一个值,可...
PL/SQL 基础,一个不错的 PL/SQL 参考手册。内容预览: ---- 第一章 PL/SQL 简介 ---- 1. Oracle应用编辑方法概览 1) Pro*C/C++/... : C语言和数据库打交道的方法,比OCI更常用; 2) ODBC 3) OCI: C语言和...
例如,`IF...THEN...ELSIF...ELSE`语句用于实现条件分支,`WHILE`和`FOR`循环则可以处理迭代任务。异常处理部分,如`BEGIN...EXCEPTION...END`块,能够捕获并处理运行时错误,确保程序的健壮性。 "demobld.sql"这个...
2. **控制流程语句**:这包括条件判断(IF-THEN-ELSIF-ELSE)和循环(WHILE、FOR、LOOP)。这些语句允许根据特定条件执行代码块或重复执行某段代码。 3. **异常处理**:在PL/SQL中,异常处理是通过EXCEPTION关键字...
2. **控制流语句**:包括IF-THEN-ELSIF-ELSE、CASE语句用于条件判断,WHILE和FOR循环用于迭代,以及LOOP结构提供更灵活的循环控制。 3. **异常处理**:PL/SQL中的BEGIN-EXCEPTION-END结构允许捕获并处理运行时错误...
PL/SQL支持变量、常量、条件语句(如IF-THEN-ELSIF-ELSE)、循环(如FOR、WHILE)、异常处理(如EXCEPTION)等基本编程元素。 在Oracle PL/SQL中,我们可以通过使用SQL语句来与数据库进行交互,例如SELECT用于查询...
流程控制结构有IF-THEN-ELSIF-ELSE、CASE、FOR循环、WHILE循环和GOTO。 4. **SQL操作**:PL/SQL可以直接嵌入SQL语句,进行数据查询、插入、更新和删除操作。游标允许程序逐行处理查询结果。 5. **异常处理**:PL/...
执行部分包含控制流语句(如IF-THEN-ELSIF, CASE, LOOP)以及SQL语句;异常处理部分则使用BEGIN...EXCEPTION结构来捕获和处理运行时错误。 2. **变量与数据类型**:PL/SQL支持多种内置数据类型,如NUMBER、VARCHAR2...
1. **PL/SQL基础**:PL/SQL的基础语法,如变量声明、数据类型、流程控制语句(如IF-THEN-ELSIF,FOR循环,WHILE循环)、异常处理(BEGIN-EXCEPTION-END结构)等。 2. **函数与过程**:如何定义和调用用户自定义的...
1. **PL/SQL基础**:涵盖PL/SQL的基本语法,包括变量声明、常量定义、条件语句(IF-THEN-ELSIF-ELSE)、循环结构(WHILE, FOR)、异常处理(BEGIN-EXCEPTION-END)以及子程序(PROCEDURE和FUNCTION)的创建与调用。...
2. **流程控制**:PL/SQL提供了多种流程控制结构,如条件语句(IF-THEN-ELSIF-ELSE)、循环(WHILE、FOR、LOOP)、CASE表达式,以及异常处理(EXCEPTION)。这些结构使得程序可以根据不同条件执行不同的代码段。 3....
1. **基础语法**:PL/SQL的基础包括声明变量、常量、游标、记录类型以及控制流程语句(如IF-THEN-ELSIF,WHILE,FOR循环)。书中会详细介绍如何编写简单的PL/SQL块,包括声明部分、执行部分和异常处理部分。 2. **...
4. 控制结构:PL/SQL提供了流程控制结构,包括IF...THEN...ELSIF...ELSE、CASE、FOR循环、WHILE循环,以及BEGIN...END块结构,用于编写复杂的程序逻辑。 5. SQL语句:PL/SQL可以直接嵌入SQL语句,执行查询、插入、...
条件控制语句如IF-THEN-ELSIF-ELSE和CASE语句允许根据条件执行不同的代码路径。这使得在处理数据时能够进行条件判断和分支操作。 7. **PROCEDURE** PROCEDURE是PL/SQL中的过程,是一组相关的PL/SQL语句,可以接受...
1. **PL/SQL基础**:介绍PL/SQL的基本语法,包括变量声明、常量定义、条件判断语句(IF-THEN-ELSIF-ELSE)、循环结构(WHILE、FOR)、异常处理(BEGIN-EXCEPTION-END)等,以及如何编写存储过程、函数和触发器。...
3. **流程控制**:PL/SQL提供了一系列流程控制结构,包括IF...THEN...ELSIF...ELSE语句、CASE语句、FOR循环、WHILE循环等,用于根据条件或循环执行代码。 4. **子程序**:包括函数和过程。函数返回一个值,而过程不...
3. 控制流程语句:包括条件语句(IF-THEN-ELSIF-ELSE)、循环语句(WHILE、FOR)以及CASE语句,这些是控制程序流程的关键。 4. 子程序与包:PL/SQL允许定义函数、过程和包,用于封装代码,提高可重用性。了解如何...
- 控制流程语句:学习IF-THEN-ELSIF-ELSE、CASE、FOR循环、WHILE循环等。 - 函数和过程:创建和调用自定义函数和过程,理解参数传递方式。 2. **PL/SQL与SQL交互**: - DML操作:INSERT、UPDATE、DELETE语句在PL...
3. **控制流程语句**:学习条件判断(IF-THEN-ELSIF-ELSE)和循环结构(WHILE、FOR循环),以及如何通过这些语句实现条件分支和迭代。 4. **异常处理**:理解PL/SQL中的错误处理机制,学习使用EXCEPTION块来捕获和...