`

Oracle 10g存储过程学习二——为参数传递变量和数据

阅读更多
--在创建存储过程时,为参数传递变量和数据
create or replace procedure add_dept
(dno number,dname varchar2 default null,loc varchar2 default null)
is
begin
insert into dept values(dno,dname,loc);
exception
when dup_val_on_index then
raise_application_error(-2000,'部门号不能重复');
end;

--1、位置传递
--位置传递是指在调用存储过程时,按照参数定义的顺序依次为参数指定相应变量或者数值,有默认值的参数,可以不赋值
exec add_dept(50,'sales','new york');
exec add_dept(60);
exec add_dept(70,'admin');


--2、名称传递
--名称传递是指在调用子程序时,指定参数名,并使用关联符号'=>'为其提供相应的数值或变量
exec add_dept(dname=>'sales',dno=>50);
exec add_dept(dno=>60)
;
--3、组合传递
--组合传递是指在调用存储过程时,同时使用位置传递和名称传递
exec add_dept(60,name=>'sales',loc=>'new york');



--2、查看存储过程源代码
--当存储过程建立后,oracle将过程名、源代码机器执行代码存放到数据字典中。我们可以通过查询urser_source查看当前用户的所有存储过程,过程名称需要大写
select text from user_source where name = 'ADD_DEPT';



    1 "procedure add_dept"
    2 "(dno number,dname varchar2 default null,loc varchar2 default null)"
    3 "is"
    4 "begin"
    5 "insert into dept values(dno,dname,loc);"
    6 "exception"
    7 "when dup_val_on_index then"
    8 "raise_application_error(-2000,'部门号不能重复');"
    9 "end;"
分享到:
评论

相关推荐

    Oracle通用数据库存储过程代码--高效分页存储过程

    ### Oracle通用数据库存储过程代码——高效分页存储过程解析 #### 标题解析 标题“Oracle通用数据库存储过程代码——高效分页存储过程”表明这是一个适用于Oracle数据库的存储过程,主要用于实现高效的分页查询功能...

    Oracle存储过程、函数和包

    ### Oracle存储过程、函数和包的关键知识点 #### 1. 存储过程和函数的认识 - **定义**:存储过程和函数是特定类型的PL/SQL块,它们被存储在数据库中,作为命名的对象存在。 - **命名存储**:与普通的PL/SQL块不同,...

    Oracle触发器与存储过程高级编程

    2. **存储过程的参数**:存储过程可以有输入参数、输出参数和输入输出参数。通过这些参数,存储过程可以与外部应用程序交互,传递数据。 3. **存储过程的变量与控制结构**:存储过程中可以定义局部变量,并使用IF.....

    PL/SQL手册———oracle10g

    ### PL/SQL手册——Oracle 10g #### 概述 PL/SQL(Procedural Language for SQL)是Oracle数据库的一种内置编程语言,用于增强SQL的功能并支持更复杂的业务逻辑处理。它结合了SQL的数据操作能力和过程化的编程结构...

    Oracle存储过程

    Oracle存储过程是数据库管理系统Oracle中的一个重要特性,它允许开发者编写包含一系列SQL语句和PL/SQL块的可重用代码段。存储过程可以看作是数据库中的一个对象,执行时可以接受参数,处理数据,然后返回结果。在...

    ORACLE 10g AIX RAC+OBackup安装文档

    从Oracle 10g开始,Oracle引入了一整套完整的集群管理解决方案——Cluster-Ready Services (CRS),它涵盖了集群间的通信、消息传递、锁定机制以及负载均衡等功能。这意味着RAC可以独立于第三方集群软件运行,虽然CRS...

    Expert_Oracle_Database_Architecture_9_i_i_i_and_10_i_g_i_Programming_Techniques_and_Solutions-scripts.rar

    3. 数据库链接:跨数据库操作在9i和10g中得到支持,允许在不同数据库间传递数据和调用远程过程。 4. 分布式数据库系统:10g的RAC技术使得多节点数据库集群成为可能,提高了系统的可用性和扩展性。 三、脚本集的...

    Oracle 8基础——对服务器编程

    - **变量与常量**:可以声明各种类型的变量和常量,使用Oracle或ANSI/ISO标准数据类型。变量可以初始化或设置默认值。 - **用户定义子类**(子类型):通过子类型限制变量或常量的值范围,提高程序的可读性。 - *...

    PLSQL.pdf,学习oracle必备手册

    这篇“学习Oracle必备手册”——PLSQL程序设计,旨在帮助初学者快速掌握PLSQL的基础知识和应用技巧。 PLSQL是一种结合了SQL和过程编程语言的特性,它允许开发者创建复杂的数据库应用程序。以下是你在阅读这本手册时...

    Oracle数据库---存储过程实例

    存储过程的优点包括提高性能(因为它们可以在服务器端执行)、减少网络流量(只需要传递过程名)以及增强安全性(可以限制对数据的直接访问)。 #### 2. 创建存储过程 创建存储过程的基本语法如下: ```sql ...

    Oracle.Database.10g.Pl_Sql.Programming.pdf

    11. **存储过程和函数的参数模式**:详细说明了IN、OUT、IN OUT参数的不同用法,以及如何传递和返回数据。 12. **动态SQL**:讲解如何在PL/SQL中使用EXECUTE IMMEDIATE语句执行动态SQL,以应对灵活的数据库操作需求...

    Oracle8 PL/SQL程序设计

    4. **子程序**:学习如何定义和调用函数、存储过程,以及了解参数传递的方式,包括IN、OUT、IN OUT参数。 5. **游标**:掌握游标的使用,包括声明、打开、关闭、提取数据等操作,以及如何在PL/SQL中进行动态SQL处理...

    Oracle9i PL_SQL从入门到精通 pdf版本

    7. **PL/SQL子程序**:包括过程和函数的创建、参数传递、返回值和调用。 8. **索引与性能优化**:理解索引的作用,如何创建和管理索引,以及如何利用PL/SQL进行性能优化。 9. **PL/SQL与SQL的交互**:学习如何在PL...

    韩顺平玩转oracle学习笔记

    ### 韩顺平玩转Oracle学习笔记知识点详解 #### 一、Oracle基本使用——基本命令 ...以上是对《韩顺平玩转oracle学习笔记》中的关键知识点进行了详细的解释和总结,希望对学习Oracle数据库管理和开发有所帮助。

    福建省电力公司oracle培训教材--PLSQL语言篇.pptx

    无名块通常用于一次性执行的代码,而存储过程和函数则可重复调用,具有参数传递功能。触发器与数据库表相关联,当满足特定条件时自动执行,而包则是一组相关过程、函数和标识符的集合。 2. PL/SQL程序结构 PL/SQL...

    PLSQL程序设计-存储过程函数触发器

    PL/SQL是一种专门为Oracle数据库设计的过程化语言,它结合了SQL的数据操纵功能和传统编程语言的流程控制功能,使得开发者能够在数据库环境中编写更为复杂的应用逻辑。本文档主要介绍了PL/SQL中的几个核心概念:存储...

    java学习进阶之路,如果从一个菜鸟进阶成大神(csdn)————程序.pdf

    了解各种基本数据类型和包装类,理解方法的重载和方法参数传递。 - **集合框架**:熟练使用Collection接口及其子接口List、Set、Queue,以及Map接口。研究各种实现类的内部结构和操作原理,如ArrayList、LinkedList...

    plsql_oracle 8i 编程讲义

    - **PL/SQL 定义**:PL/SQL 是一种专为 Oracle 数据库设计的过程化语言,它结合了 SQL 的强大数据处理能力与传统编程语言的流程控制功能。自 Oracle 6 版本起,PL/SQL 已成为 Oracle RDBMS 的一部分,并随着版本的...

    Oracle SQL高级编程(资深Oracle专家力作,OakTable团队推荐)--随书源代码

    Karen Morton及其团队在本书中提供了专业的方案:先掌握语言特性,再学习Oracle为提升语言效率而加入的支持特性,进而将两者综合考虑并在工作中加以应用。作者通过总结各自多年的软件开发和教学培训经验,与大家...

Global site tag (gtag.js) - Google Analytics