实例1 只包括执行部分的pl/sql块
set serveroutput on --打开输出选项
begin
dbms_output.put_line('hello,world!');
end;
相关说明:
dbms_output是oracle所提供的包(类似java的开发包),该包包含一些过程,put_line就是dbms_output包的一个过程。
如果没有set serveroutput on这个来打开输出选项,则oracle中没有任何东西显示出来。
实际显示:
SQL> set serveroutput on;
SQL> begin
2 dbms_output.put_line('hello,world!');
3 end;
4 /
hello,world!
PL/SQL procedure successfully completed
实例2 包含定义部分和执行部分的pl/sql块
declare
v_ename varchar2(5);--定义字符串变量
begin
select ename into v_ename from emp where empno=&no;
dbms_output.put_line('雇员名:'||v_ename);
end;
/
相关说明:
& 表示要接收从控制台输入的变量
注意:
1.ename into v_ename的意思就是将ename的值赋给v_ename。
2.输出语句中||其作用和java中的+作用一样。
3.empno=&no;里&后面的no其实是随意的,但是不能不写,其作用就是将在控制台输入的变量赋给哪个值,如&no的意思就是将从控制台输入的值赋给no。
SQL> declare
2 --定义变量
3 v_ename varchar2(10);
4 begin
5 --执行部分
6 select ename into v_ename from emp where empno=&aa;
7 --在控制台显示用户名
8 dbms_output.put_line('用户名是:'||v_ename);
9 end;
10 /
用户名是:SCOTT
PL/SQL procedure successfully completed
--把用户的薪水也显示出来
declare
--定义变量
v_ename varchar2(10);
v_sal number(7,2);
begin
--执行部分
select ename,sal into v_ename,v_sal from emp where empno=&aa;
--在控制台显示用户名
dbms_output.put_line('用户名是:'||v_ename||' 工资:'||v_sal);
end;
实例3 包含定义部分、执行部分和例外处理部分
为了避免pl/sql程序的运行错误,提高pl/sql的健壮性,应该对可能的错误进行处理,这个很有必要:
1)比如在实例2中,如果输入了不存在的雇员号,应当作例外处理
2)有时出现异常,希望用另外的逻辑处理
相关说明:oracle事先预定义了一些例外,no_data_found就是找不到数据的例外。
SQL> declare
2 --定义变量
3 v_ename varchar2(10);
4 v_sal number(7,2);
5 begin
6 --执行部分
7 select ename,sal into v_ename,v_sal from emp where empno=&aa;
8 --在控制台显示用户名
9 dbms_output.put_line('用户名是:'||v_ename||' 工资:'||v_sal);
10 --异常处理
11 exception
12 when no_data_found then
13 dbms_output.put_line('该编号的用户不存在,请重新输入!');
14 end;
15 /
该编号的用户不存在,请重新输入!
PL/SQL procedure successfully completed
相关推荐
本资料包“plsql语法编程实例”提供了一系列SQL基础语法和PL/SQL编程实例,对于学习和掌握这一技能非常有帮助。 首先,SQL(Structured Query Language)是关系型数据库管理系统中用于管理和处理数据的标准语言。其...
### ORACLE PL/SQL 实例精解(第4版)知识点概述 #### 一、PL/SQL基础 **1.1 PL/SQL简介** - **定义**:PL/SQL(Procedural Language for SQL)是一种过程化语言,专门用于增强Oracle数据库的功能。它将SQL命令与...
- 语句块是PL/SQL的基本执行单元,由`DECLARE`、`BEGIN`、`EXCEPTION`和`END`关键字构成。例如,声明一个插入语句的块,包含变量声明和事务提交: ```sql DECLARE v_msg VARCHAR2(100) := '默认值'; BEGIN ...
在"Oracle PLSQL实例精解第4版英文版"中,读者可以深入理解PL/SQL的核心概念、语法以及实践应用。 本书的第四版可能涵盖以下关键知识点: 1. **PL/SQL基础**:介绍PL/SQL的基本结构,包括声明变量、常量、游标、表...
存储过程和函数是PLSQL中可重用的代码块。存储过程不返回值,而函数返回一个值。创建存储过程的示例: ```sql CREATE OR REPLACE PROCEDURE proc_name (param1 IN datatype1, param2 OUT datatype2) AS BEGIN -- ...
2. **异常处理**:学习如何用EXCEPTION块来捕获和处理运行时错误,增强程序的健壮性。 3. **游标**:掌握游标的使用,包括声明、打开、关闭和提取记录,以及游标变量和FOR循环中的游标应用。 4. **存储过程和函数*...
PLSQL程序由块组成,包括声明部分、执行部分和异常处理部分。声明部分用于定义变量、常量、游标和子程序;执行部分包含SQL语句和PLSQL语句,用于执行实际操作;异常处理部分则用于捕获和处理运行时错误。 二、变量...
例如,实例2和实例3展示了如何定义一个简单的PLSQL块,包括变量声明、查询和异常处理。 2. **变量声明**: 变量在PLSQL中使用`DECLARE`关键字进行声明,如`v_ename VARCHAR2(5)`和`v_sal emp.sal%TYPE`。`emp.sal%...
### Oracle 11g SQL与PL/SQL实例代码解析 #### 11-1: 输出简单消息 **知识点概述:** - **DBMS_OUTPUT:** 是一个内置的包,用于输出字符串到服务器会话的标准输出。 - **BEGIN-END 块:** PL/SQL 中的基本结构,...
PL/SQL提供了一个异常处理机制,通过BEGIN...EXCEPTION...END块来捕获和处理运行时错误。例如: ```sql BEGIN SELECT value INTO num_var FROM table WHERE id = 123; EXCEPTION WHEN NO_DATA_FOUND THEN DBMS_...
《Oracle PLSQL实例精解(原书第4版)》是一本深入探讨Oracle数据库编程语言PL/SQL的专业书籍。此书旨在帮助读者掌握PL/SQL的精髓,通过丰富的实例和详细解析,提升在Oracle数据库环境中的开发能力。作者在书中不仅...
它支持语法高亮、代码折叠,以及PL/SQL块的调试,包括设置断点、查看变量值和调用堆栈。 2. **数据库连接**:用户可以轻松连接到任何Oracle数据库实例,进行数据查询、表维护、存储过程创建和修改等工作。 3. **...
在PLSQL块中执行SQL语句时,如DML(INSERT, UPDATE, DELETE)操作,会自动使用隐式游标。无需声明或管理,但可以使用隐式游标的属性来检查操作状态,例如: ```sql BEGIN UPDATE Employees SET Salary = Salary * ...
这个电子书合集应该能提供丰富的实例和解释,帮助你从基础到进阶全面掌握PLSQL。 通过阅读这些电子书,你可以期待掌握以下技能: 1. **基础语法**:了解PLSQL的基本元素和语法规则。 2. **数据操作**:学会如何在...
首先,PL/SQL(Procedural Language/Structured Query Language)是Oracle公司为Oracle数据库设计的一种结构化查询语言的扩展,它提供了块结构、变量、控制流语句、异常处理以及面向对象特性,使得数据库管理和应用...
2. **编写PLSQL代码**:在编辑器中编写存储过程、函数、触发器或匿名PLSQL块。 3. **执行查询**:不仅支持SQL查询,还可以执行PLSQL代码,获取结果集或返回值。 4. **调试代码**:设置断点,逐步执行,查看变量状态...
PLSQL的最小执行单元是块,包括匿名块和命名块(如存储过程、函数、触发器)。匿名块通常用于临时的、一次性的任务,而命名块可以多次调用,提高代码复用。 6. **游标** 游标用于逐行处理查询结果集。在PLSQL中,...
1. **PLSQL块结构**:PLSQL代码通常由三部分组成:声明部分(Declaration)、执行部分(Execution)和异常处理部分(Exception Handling)。声明部分定义变量和常量;执行部分包含SQL和PLSQL语句;异常处理部分用于...