`
hanlu0221
  • 浏览: 13986 次
  • 性别: Icon_minigender_2
  • 来自: 北京
最近访客 更多访客>>
社区版块
存档分类
最新评论

PL/SQL5之——存储过程(stored procedure)

阅读更多
存储过程(stored procedure),其实就是一个带有名字的PL/SQL程序块。

先举一个简单的存储过程小例子:
create or replace procedure p
is
       cursor c is
              select * from emp for update
begin 
       for v_emp in c loop
           if(v_emp.deptno = 10)then
              update emp set sal = sal + 10 where current of c;
           elsif(v_emp.deptno = 20)then
              update emp set sal = sal + 20 where current of c;
           else
               update emp set sal = sal + 30 where current of c;
           end if;

       end loop;
       commit;
end; 

怎样运行这个存储过程呢?有两个方式:
1.
exec p;

2.
begin
  p;
end;


带参数的存储过程
--创建存储过程
create or replace procedure p
   (v_a in number, v_b number, v_return out number, v_temp in out number)
is
begin
   if(v-a > v_b)then
      v_return := v_a;
   else
      v_return :=v_b;
   end if;
   v_temp :=v_temp + 1;
end;

其中:1.“v_a in number”的in表示传入参数;
2.“v_b number”默认为传入参数;
3.“v_return out number”的out表示输出参数;
4.“v_temp in out number”表示为能同时做传入和输出参数。

--调用存储过程
declare
   v_a number := 3;
   v_b number := 4;
   v_return number;
   v_temp number := 5;
begin
   p(v_a, v_b, v_return, v_temp);
   dbms_output.put_line(v_return);
   dbms_output.put_line(v_temp);
end;


创建函数(function)
create or replace function sal_tax
      (v_sal number)
       return number
is
begin
   if(v_sal < 2000)then
       return 0.10;
   elsif(v_sal < 3000)then
        return 0.15;
   else
        return 0.20;
   end if;
end;


分享到:
评论

相关推荐

    Oracle PL/SQL从入门到精通 配书教学视频 第11章

    Oracle PL/SQL从入门到精通 配书教学视频 第11章

    PL/SQL程序设计

    PL/SQL的高级概念包括包(Package)、游标(Cursor)、触发器(Trigger)、存储过程(Stored Procedure)和函数(Function)。包是将相关的过程和变量封装在一起的单元,提供模块化的代码组织方式。游标允许程序逐行...

    PL/SQL 经典例子

    5. **存储过程(Stored Procedure)**:存储过程是预编译的PL/SQL代码集合,可重复使用。下面创建一个简单的存储过程: ```sql CREATE OR REPLACE PROCEDURE proc_name (param1 IN NUMBER, param2 OUT NUMBER) IS ...

    11oracle的PL-SQL编程-块.过程 PPT

    过程 PPT"中,可能还涉及了存储过程(Stored Procedure)、函数(Function)、触发器(Trigger)等PL/SQL高级特性,以及它们在数据库管理和应用开发中的作用。 综上所述,Oracle的PL/SQL编程是数据库开发中的强大...

    计算机上机南开一百题

    第一题要求编写一个名为`jsValue`的函数,其功能是在给定的整数`m`之后找到并存储`k`个连续的素数到数组`xx`中。素数是大于1且仅能被1和自身整除的自然数。这里使用了辅助函数`isP`来判断一个数是否为素数,通过循环...

    Oracle Database 11g Administration Workshop II (数据库管理-课堂练习II 学生指南第3册)

    - **表空间和数据文件**:表空间是逻辑存储单元,数据文件是物理存储单元,理解两者之间的关系对于数据管理和空间规划非常关键。 2. **Automatic Storage Management (ASM)**:这是一个高度可扩展和高性能的文件...

    PL/SQL 创建 oracle 任务调度

    2. 接下来,创建一个程序(Program),指定要执行的PL/SQL块、存储过程或外部程序。例如,以下代码创建了一个名为'HISBASE.PRG_TEST'的程序,它关联的程序动作是存储过程'PRC_TEST': ```sql begin sys.dbms_...

    oracle练习题

    此外,也可能涉及触发器、存储过程和函数的编写。 3. 表结构设计:在Oracle中,良好的数据库设计至关重要。练习题可能包括实体关系模型(ER模型)的构建,以及如何将这些模型转化为实际的表结构。此外,还可能涉及...

    oracle期末作业PL、SQL实现股票分析.zip

    请使用PL/SQL编程方法(stored procedure, view, …..)来产生股票技术分析的数据(布尔线指标、相对强弱指标) 第一步: 先将档案中两个Tabs的灰色背景数据(Date, Open, High, Low, Close)汇入Oracle数据库(两个Tabs的...

    数据结构课后题解答(C语言描述)

    数据结构是计算机科学中的核心课程之一,它探讨了如何有效地组织和管理数据,以便于高效地执行各种操作。《数据结构用C语言描述》是一本广泛使用的教材,它结合了理论与实践,通过C语言来阐述各种数据结构的实现。这...

    plsql-oracle.doc

    Oracle PL/SQL 是一种 procedural 语言,用于在 Oracle 数据库中编写 stored procedure、函数和触发器。PL/SQL 语言结合了 SQL 语言的功能,并添加了一些过程化的特性,使得开发者可以更方便地编写高效、可靠的...

    Oracle Database 10g PL-SQL Programming

    - **Calling Stored Procedures**: How to execute stored procedures from PL/SQL or SQL. - **Using Functions**: Invoking functions to perform calculations or retrieve data. - **Working with Packages**: ...

    存储过程.doc

    存储过程(Stored Procedure)是数据库管理系统中预编译的SQL语句集合,它可以被看作是数据库中的一个对象,用于封装一系列的数据处理逻辑。在Oracle数据库中,存储过程通常由PL/SQL(Procedural Language/...

    PL_oracle_

    存储过程是一组预编译的PL/SQL代码,可以接受参数并返回结果,但不返回值。而函数类似,但必须返回一个值。创建存储过程如`CREATE PROCEDURE proc_name (param1 datatype, ...) AS ... BEGIN ... END;`。 8. **...

    ssd5-exam1选择题题库

    根据给定的文件信息,以下是从“ssd5-exam1选择题题库”中提炼出的关键知识点: ### 1. 文件输入输出:C++中的`fstream`库 在C++编程语言中,若要从文件读取数据,通常会用到`fstream`库中的`ifstream`类。这个类...

    黄淮学院信工学院操作系统06-07下考试试题A卷答案

    从给定的文件信息中,我们可以提取到一系列关于操作系统的基础知识点和考试题目的解析,主要涉及操作系统的概念、类型、进程管理、存储管理和设备管理等内容。以下是对这些知识点的详细阐述: ### 操作系统概念 ...

    通讯簿管理系统

    5. 数据备份与恢复:考虑系统的数据安全,需要实现数据备份和恢复功能,以防止意外数据丢失。 6. 错误处理和调试:在开发过程中,应进行错误处理,确保程序的稳定性和用户体验。 7. 性能优化:针对大量数据查询,...

    ACCP6.0 S1考前理论部分

    5. **软件工程**:软件开发过程,包括需求分析、设计、编码、测试和维护,以及敏捷开发和Scrum框架的应用。 6. **操作系统原理**:进程管理、内存管理、文件系统、设备管理和调度策略。 7. **计算机科学理论**:...

    数据库优化方案

    除了上述技巧,还包括定期分析和重建索引、合理设计表结构、使用存储过程、分区表、读写分离、缓存策略等多种方法。对于大型数据库系统,还可以考虑数据库集群和负载均衡,以进一步提升性能。在实践中,应结合监控...

Global site tag (gtag.js) - Google Analytics