`

oracle创建存储过程和函数

阅读更多
Oracle创建存储过程、创建函数、创建包
一、Oracle创建存储过程

1、基本语法


create or replace procedure update_emp_sal(Name in out type, Name in out type, ...) isbegin  end update_emp_sal;

2、写一个简单的例子修改emp表的ename字段


create or replace procedure update_emp(v_empno  varchar2,v_ename  varchar2) isbeginupdate emp set ename=v_ename where empno=v_empno;  end update_emp;

调用方法如下:

SQL>exec  update_emp('7935','test');2、有返回值的存储过程


就写一个简单的返回empno=7935的sal值



create or replace procedure emp_out_sal ( v_empno in varchar2, v_sal out number ) is vsal number(7,2); begin  select sal into vsal from emp where empno=v_empno; v_sal:=vsal; end;

调用有返回值的过程



SQL> var vsal numberSQL> exec emp_out_sal('7935',:vsal);PL/SQL procedure successfully completedvsal---------700SQL> var vsal numberSQL> call emp_out_sal('7935',:vsal);Method calledvsal---------700
二、Oracle创建函数(function)

1、基本语法规则如下:

create or replace function (Name in type, Name in type, ...) return number is  Result number;begin    return (Result);end ;


2、写一个简单的查询例子查询出empno=7935的sal值


create or replace function ret_emp_sal(v_ename varchar2)return numberisv_sal number(7,2);beginselect nvl(sal,0) into v_sal from emp where lower(ename)=lower(v_ename);return v_sal;end;

调用此函数:


SQL> var vsla numberSQL> call ret_emp_sal('7935') into :vsal;Method calledvsal---------700


三、Oracle创建包

包用于组合逻辑相关的过程和函数,它由包规范和包体两个部分组成。包规范用于定义公用的常量、变量、过程和函数,创建包规范可以使用CREATE PACKAGE命令,创建包体可以使用CREATE PACKAGE BODY

1、创建包规范

 create package emp_pkg is procedure emp_update_ename(v_empno varchar2,v_ename varchar2); function emp_get_sal(v_empno varchar2) return number; end;

2、创建包体

create or replace package body emp_pkgis    procedure emp_update_ename    (    v_empno varchar2,    v_ename varchar2    )    is    vename varchar2(32);    begin     update emp set ename=v_ename where empno=v_empno;    commit;    select ename into vename from emp where empno=v_empno;       dbms_output.put_line('雇员名称:'||vename);        end;        function emp_get_sal    (    v_empno varchar2    )    return number is    vsal number(7,2);    begin    select sal into vsal from emp where empno=v_empno;    return vsal;    end;end;

在此提示,在没有创建包规范就创建包体,会失败,要使用包,必须先创建包规范,然后在创建包体

当要调用包的过程和函数时,在过程和函数的名称前加上包名作为前缀(包名.子程序名称),而如果要访问其他方案的包时需要在包的名称前加上方案的名称

(方案名称.包名.子程序名称)

实例:


SQL> var vsla numberSQL> call emp_pkg.emp_get_sal('7935') into :vsal;Method calledvsal---------700SQL> exec emp_pkg.emp_update_ename('7935','helong');雇员名称:helongSQL> call emp_pkg.emp_update_ename('7935','helong');Method calledSQL> select * from dual;DUMMY-----X雇员名称:helong
分享到:
评论

相关推荐

    Oracle存储过程和函数(最详细包含emp 表实例操作,边看边操作)

    1. **操作EMP表**:我们可以创建存储过程或函数来查询、插入、更新或删除`EMP`表的数据。例如,创建一个显示所有员工姓名的存储过程: ```sql CREATE OR REPLACE PROCEDURE display_employees IS CURSOR c_emp IS...

    java调用oracle存储过程或者函数

    在Java编程中,调用Oracle数据库的存储过程和函数是常见的任务,这通常涉及到JDBC(Java Database Connectivity)API的使用。以下将详细介绍这个过程,包括必要的步骤、使用的类和方法,以及可能遇到的问题和解决...

    java中调用oracle的存储过程和函数

    ### Java中调用Oracle的存储过程和函数 在Java应用程序中调用Oracle数据库中的存储过程或函数是一项常见的任务。这不仅能够提高代码的执行效率,还可以有效地管理事务处理,确保数据的一致性和完整性。本文将详细...

    Oracle存储过程、函数和包

    - **定义**:包是一组相关的存储过程、函数和类型定义的集合。 - **组成**:包由两部分组成——包规范和包体。 - 包规范:声明了包中包含的存储过程和函数的接口。 - 包体:包含了实际的实现代码。 - **创建**: ...

    oracle创建存储过程

    综上所述,以上示例覆盖了Oracle存储过程和函数的基本创建方法,包括无参数、带参数、默认参数、输出参数以及输入输出参数等不同情况。这些知识对于理解如何有效地使用Oracle数据库中的存储过程和函数至关重要。

    oracle存储过程和函数PPT

    综合这三个主题,Oracle数据库开发者可以通过学习和熟练运用存储过程、函数和PL/SQL,提升数据库应用程序的性能和可维护性。了解并掌握游标管理,可以帮助开发者更加高效地处理大数据量的情况。这些知识对于任何涉及...

    oracle数据库 存储过程和函数的使用

    根据给定文件的信息,我们可以详细地探讨Oracle数据库中存储过程和函数的相关知识点。 ### 存储过程的意义 存储过程是一种数据库对象,它是由SQL语句和流程控制语句组成的预编译模块,存储在数据库服务器上。存储...

    Oracle存储过程、游标、函数的详解

    在Oracle数据库中,存储过程、游标和函数是非常重要的组成部分,它们为数据库管理提供了强大的编程能力。通过学习这些概念,我们可以更加灵活地管理和操作数据库数据。 ##### 1.1 存储过程 存储过程是一组预先编译...

    oracle实验8-存储过程与函数的创建.doc

    Oracle实验报告

    oracle存储过程函数生成DEMO

    - 在Oracle中,创建存储过程使用`CREATE OR REPLACE PROCEDURE`语句,如: ```sql CREATE OR REPLACE PROCEDURE procedure_name (param1 datatype, param2 datatype) IS BEGIN -- SQL语句和PL/SQL代码 END; `...

    oracle 存储过程 函数 dblink

    #### 二、创建存储过程 根据提供的部分代码示例,我们可以看到一个简单的存储过程`TESTA`被创建: ```sql CREATE OR REPLACE PROCEDURE TESTA( PARA1 IN VARCHAR2, PARA2 IN VARCHAR2 ) AS BEGIN INSERT INTO ...

    delphi调用Oracle的存储过程

    ### Delphi调用Oracle的...总结来说,本文详细介绍了如何在Delphi中调用Oracle的存储过程,包括存储过程的创建、Delphi环境的配置以及具体的代码实现。这为开发者提供了一个实用的例子,以便更好地理解和掌握这一技术。

    ORACLE存储过程,函数,包,游标

    Oracle数据库是世界上最流行的数据库管理系统之一,它提供了丰富的编程接口,其中存储过程、函数、包和游标是数据库开发中常用的重要元素。以下是对这些概念的详细解释和它们在实际应用中的作用。 ### 存储过程 ...

    oracle中的存储过程.函数,包

    #### 创建存储过程 存储过程是一种在数据库中存储的预编译的SQL和PL/SQL语句集合。它可以在任何时候被调用执行。创建一个简单的存储过程如下: ```sql CREATE OR REPLACE PROCEDURE my_procedure (p_no NUMBER) IS ...

    Python使用cx_Oracle调用Oracle存储过程的方法示例

    首先,在数据库端创建简单的存储过程。 create or replace procedure test_msg(i_user in varchar2, o_msg out varchar2) is begin o_msg := i_user ||', Good Morning!'; end; 然后,开始在Python命令行中进行...

    Oracle PL SQL存储过程以及函数编

    创建存储过程的语法如下: ```sql CREATE OR REPLACE PROCEDURE procedure_name (parameter_list) IS -- 声明部分,定义变量、游标等 BEGIN -- 执行部分,包含PL/SQL语句 EXCEPTION -- 异常处理部分,捕获并处理...

    oracle oracle函数 存储过程

    在Oracle中,函数和存储过程是两个非常重要的概念,它们在数据库编程和数据管理中扮演着核心角色。 Oracle数据库基础是理解函数和存储过程的基础。数据库基础涵盖了数据模型、SQL语言、数据库对象(如表、视图、...

    hibernate query调用oracle存储过程

    同时,提供的数据库文件可能包含了创建存储过程的脚本,可以在Oracle数据库中执行这些脚本来创建对应的存储过程。 在实际项目中,可能还需要考虑事务管理、异常处理等细节,确保数据操作的完整性和一致性。例如,...

    JAVA 与ORACLE 存储过程及函数

    标题中的“JAVA 与ORACLE 存储过程及函数”是指在Java编程语言中与Oracle数据库交互时,如何使用存储过程和函数的概念。在Oracle数据库中,存储过程是一组预编译的SQL语句和PL/SQL代码,而函数则是返回特定值的存储...

    oracle笔记(存储过程函数触发器游标流程控制等)

    理解并熟练创建、调用和管理存储过程和函数对于数据库开发者至关重要。 2. **触发器**:触发器是一种特殊类型的存储过程,它在特定的数据库操作(如INSERT、UPDATE或DELETE)发生时自动执行。触发器常用于实现复杂...

Global site tag (gtag.js) - Google Analytics