学习oracle 10g第一天:
pl/sql块可以分为4分类:匿名块,命名块,子程序,和触发器,下面分别介绍一下这四个pl/sql块
匿名块:
没有名称的pl/sql块,例如:
DECLARE
v_ename varchar2(5);
BEGIN
select ename into v_ename from emp
where empno = &no;
DBMS_OUTPUT.put_line('雇员号:' || v_ename);
EXCEPTION
WHEN NO_DATA_FOUND THEN
DBMS_OUTPUT.put_line('请输入正确的雇员号');
END;
命名块:命名块与匿名块非常的相似,只不过在前面加上了<<>>标记,例如
<<outer>>
declare
v_deptno number(2);
v_dname varchar2(10);
begin
<<inner>>
begin
select deptno into v_deptno from emp
where lower(ename)-lower('&name');
end;
-- <<inner>>
select dname into v_dname from dept
where deptno=v_deptno;
DBMS_OUTPUT.put_line('部门名:'||v_name);
end ;-- <<outer>>
子程序包括:存储过程,包,和函数
--存储过程
create PROCEDURE update_sal(name varchar2,newsal number)
is
begin
update emp set sal= newsal
where
lower(ename) = lower(name);
end;
--执行
-- exec update_sal('scott',2000)
-- call update_sal('scott',2000)
--函数
create function annual_income(name varchar2)
return number is
annual_salary number(7,2),
begin
select sal*12+nvl(comm,0) into annual_salary
from emp where lower(ename)-lower(name);
return annual_salary;
end;
--调用函数
--var income number
--call annual_income('scott') into income
--print income
--包 这个是包头,包体里面是具体的函数或者是存储过程的实现
create package emp_pkg is
procedure update_sal(name varchar2,newsal number);
function annual_income(name varchar2) return number;
end;
--触发器 出发触发事件一般包括insert update delete等
create trigger update_cascade
after update of deptno on dept
for each row
begin
update emp set deptno=:new.deptno
where deptno=:old.deptno;
end;
分享到:
相关推荐
**2.2 PL/SQL块分类** 根据其特性和用途的不同,PL/SQL块可以分为以下几类: - **无名块或匿名块**:临时构建,只能执行一次,可以调用其他程序但不能被其他程序调用。 - **命名块**:带有一个特定的名字,可以被...
十五、PL/SQL 块的分类 PL/SQL 块可以分为三种类型:匿名块、命名块和触发器块。匿名块是一种临时的 PL/SQL 块,用于执行一次性任务。命名块是一种永久的 PL/SQL 块,用于执行重复性的任务。触发器块是一种特殊的 ...
本章节主要介绍了 PL/SQL 程序设计的基础知识,包括 PL/SQL 的优点、运行 PL/SQL 程序、PL/SQL 块结构、PL/SQL 基本语法、PL/SQL 处理流程、异常处理、游标、存储过程和函数、触发器等。 PL/SQL 的优点包括: * ...
#### 三、PL/SQL块分类 根据不同的应用场景,PL/SQL块可以分为以下几种类型: 1. **匿名块**:没有名称的PL/SQL块,主要用于测试或简单的操作。可以在交互式环境中直接使用,也可以嵌入到应用程序中。 2. **命名块...
该统计信息包括CPU使用情况、块I/O、记录I/O、表格扫描、分类等。 HTML指南——Oracle目前支持HTML格式的在线指南。您可以将其集成到PL/SQL Developer工作环境中,以便在编辑、编译出错或运行时出错时提供内容...
**2.2 PL/SQL块分类** - **无名块**:临时定义并在执行后销毁,主要用于测试和调试。 - **存储过程/函数**:持久化存储在数据库中,可以被其他程序调用。 - **触发器**:在特定数据库事件(如插入、更新、删除)...
该统计信息包括CPU使用情况、块I/O、记录I/O、表格扫描、分类等。 HTML指南——Oracle目前支持HTML格式的在线指南。您可以将其集成到PL/SQL Developer工作环境中,以便在编辑、编译出错或运行时出错时提供内容敏感...
- **B、自定义函数可以在SQL语句中调用、也可以在PL/SQL块中调用**:正确,函数可以在多种上下文中调用。 - **C、自定义函数可以返回表类型**:正确,可以返回复杂数据类型。 - **D、自定义函数中的参数可以是OUT...
该统计信息包括CPU使用情况、块I/O、记录I/O、表格扫描、分类等。 HTML指南——Oracle目前支持HTML格式的在线指南。您可以将其集成到PL/SQL Developer工作环境中,以便在编辑、编译出错或运行时出错时提供内容...
第3章则深入讲解了PL/SQL的基础知识,包括PL/SQL块的结构分类、变量定义和使用规则等。这一章节是读者理解PL/SQL编程原理的关键。 对于Oracle数据库开发人员而言,掌握PL/SQL语言无疑是必须的。本书《精通Oracle10g...
### Oracle PL/SQL语言初级教程知识点汇总 #### 一、PL/SQL语言基础 - **定义**: PL/SQL(Procedural Language for SQL)是Oracle为增强SQL功能而设计的一种过程化语言,它允许开发者编写复杂的数据库应用程序。 - ...
该统计信息包括CPU使用情况、块I/O、记录I/O、表格扫描、分类等。 HTML指南——Oracle目前支持HTML格式的在线指南。您可以将其集成到PL/SQL Developer工作环境中,以便在编辑、编译出错或运行时出错时提供内容...
该统计信息包括CPU使用情况、块I/O、记录I/O、表格扫描、分类等。 HTML指南 Oracle目前支持HTML格式的在线指南。您可以将其集成到PL/SQL Developer工作环境中,以便在编辑、编译出错或运行时出错时提供内容敏感...
- PL/SQL的结构:块(DECLARE, BEGIN, END) - 变量声明和数据类型 - 控制流程语句:IF, ELSE, CASE, LOOP, EXIT, GOTO - 错误处理:EXCEPTION块和错误陷阱 2. **Chapter04 - 函数和过程** - 自定义函数和过程...
程序结构 PL/SQL程序都是以块(block)为基本单位,整个PL/SQL块分三部分:声明部分(用declare开头)、执行部分(以 begin开头)和异常处理部分(以exception开头)。其中执行部分是必须的,其他两个部分可选。...
PUSQL基础 3.1 PL/SQL块简介 3.1.1 PL/SQL块结构 3.1.2 PL/SQL块分类 3.2 定义并使用变量 3.2.1 标量变量 3.2.2 复合变量 3.2.3 参照变量 3.2.4 LOB变量 3.2.5 非PL...
该统计信息包括CPU使用情况、块I/O、记录I/O、表格扫描、分类等。 HTML指南——Oracle目前支持HTML格式的在线指南。您可以将其集成到PL/SQL Developer工作环境中,以便在编辑、编译出错或运行时出错时提供内容...
Oracle PL/SQL允许开发人员编写块结构的程序,它由三个部分组成:声明部分、执行部分和异常处理部分。声明部分用于定义变量、常量、游标、类型等;执行部分是PL/SQL程序的核心,用于执行逻辑和数据库操作;异常处理...
该统计信息包括CPU使用情况、块I/O、记录I/O、表格扫描、分类等。 HTML指南——Oracle目前支持HTML格式的在线指南。您可以将其集成到PL/SQL Developer工作环境中,以便在编辑、编译出错或运行时出错时提供内容...