`

Oracle 10g存储过程学习一

阅读更多
--1、创建存储过程(无参数)
create or replace procedure out_time
is
begin
dbms_output.put_line(systimestamp);
end;
--调用存储过程
exec out_time;
call out_time();


    --结果
    24-11月-10 08.59.35.500000000 上午 +08:00



--2、创建存储过程(有参数,且显示指定为输入参数,如果不指定参数模式,默认为输入参数)
create or replace procedure update_comtype_name
(param_name in communitytype.name%type)
is
begin
--修改名称
update communitytype
set communitytype.english_name = param_name
where communitytype.community_type_id = 'ebook';
commit;
--异常处理
exception
when no_data_found then
dbms_output.put_line('没有找到资源库');
end;

--调用存储过程
call update_comtype_name('电子图书');

--结果
--调用前

    --3 ebook 电子图书 电子图书

--调用后

    --3 ebook 电子图书 电子图书1


--3、创建存储过程(有参数,且显示指定为输出参数,同时赋默认值)
create or replace procedure update_comtype_name
(param_id in communitytype.community_type_id%type,new_name out communitytype.name%type)
is
begin
--查询修改后的值
select communitytype.english_name into new_name
from communitytype
where communitytype.community_type_id = param_id;
--输出
dbms_output.put_line(new_name);
end;
--调用存储过程(在pl/sql中打开commond窗口)
var new_name varchar2(500);
exec update_comtype_name('ebook',:new_name);

--结果

    --PL/SQL procedure successfully completed
    --new_name
    ---------
    --电子图书



--4、修改后再查询修改后的值
create or replace procedure update_comtype_name
(
param_id in communitytype.community_type_id%type,
param_eng_name in communitytype.english_name%type,
new_name out communitytype.name%type
)
is
begin
--修改名称
update communitytype
set communitytype.english_name = param_eng_name
where communitytype.community_type_id = param_id;
commit;
--查询修改后的值
select communitytype.english_name into new_name
from communitytype
where communitytype.community_type_id = param_id;
--输出
dbms_output.put_line(new_name);
end;

--调用存储过程(在pl/sql中打开commond窗口)
var new_name varchar2(500);
exec update_comtype_name('ebook','电子图书修改',:new_name);


    --结果
    --SQL> var new_name varchar2(500);
    --SQL> exec update_comtype_name('ebook','电子图书修改',:new_name);

    --PL/SQL procedure successfully completed
    --new_name
    -----------
    --电子图书修改



--5、删除过程
drop procedure update_comtype_name;


--6、创建存储过程时,将参数同时设置为输入和输出
create or replace procedure compute
(num1 in out number,num2 in out number)
is
--在利用输入参数时,需要定义临时变量将运算结果保存起来
v1 number;
v2 number;
begin
v1:=num1/num2;
v2:=mod(num1,num2);
--最后返回结果时,将临时参数的值赋给输入参数(即输出参数)
num1:=v1;
num2:=v2;
end;


    SQL> var n1 number;
    SQL> var n2 number;
    SQL> exec :n1 :=100

    PL/SQL procedure successfully completed
    n1
    ---------
    100

    SQL> exec :n2:=30

    PL/SQL procedure successfully completed
    n2
    ---------
    30

    SQL> exec compute(:n1,:n2);

    PL/SQL procedure successfully completed
    n1
    ---------
    3.33333333333333
    n2
    ---------
    10

分享到:
评论

相关推荐

    oracle存储过程学习经典

    ### Oracle存储过程学习经典 #### Oracle存储过程基础知识与实践 Oracle存储过程是SQL与PL/SQL结合的强大功能,用于封装复杂的数据操作逻辑于数据库内部,从而实现高效的事务处理和数据管理。以下是对Oracle存储...

    Oracle 10g 快速入门学习

    Oracle 10g 是Oracle公司推出的数据库管理系统的一个版本,它在数据库领域有着广泛的应用,尤其在企业级数据存储和管理中占据重要地位。本套快速入门学习资源旨在帮助初学者迅速掌握Oracle 10g的基本操作和核心概念...

    oracle 10G学习完全图解

    《Oracle 10G学习完全图解》是针对Oracle数据库初学者和进阶者的一份珍贵资源,它包含了从安装到使用的全方位指导。Oracle 10G是Oracle公司推出的一款重要版本,它在数据库管理、性能优化、安全性等方面都有显著提升...

    Oracle 10g 学习课件

    Oracle 10g 学习课件是一套全面的教程,专为想要深入理解Oracle数据库管理系统的人们设计。Oracle数据库是全球广泛使用的大型企业级数据库系统,尤其在金融、电信和政府等行业中占据主导地位。Oracle 10g是其第十个...

    oracle 10g 考试题库

    Oracle 10g 是Oracle公司推出的数据库管理系统的一个版本,它在2003年发布,提供了许多增强功能和性能优化,对于数据库管理员(DBA)来说是重要的学习和认证目标。"Oracle OCP"(Oracle Certified Professional)是...

    Linux下Oracle 10g安装

    在Linux环境下安装Oracle数据库10g是一项复杂但必要的任务,对于数据库管理员(DBA)和想要学习如何在Linux平台上安装和配置Oracle数据库的IT专业人员来说,这是一项基础技能。以下是在Linux上安装Oracle 10g的详细...

    oracle 10g学习资料

    Oracle 10g是一款经典的关系型数据库管理系统,由Oracle公司发布。这个版本在数据库领域具有重要地位,尤其对于初学者来说,它提供了丰富的学习资源,帮助理解数据库的基础知识和操作技巧。以下是一些关于Oracle 10g...

    oracle10g 安装操作实用手册

    Oracle 10g是甲骨文公司发布的一款关系型数据库管理系统,属于Oracle Database产品系列的第十个主要版本。它于2003年发布,支持当时流行的操作系统平台,并引入了众多新特性,包括对网格计算的支持、数据泵、自动...

    Oracle 10g入门与提高

    同时,Oracle还提供了PL/SQL,一种强大的过程化编程语言,用于创建存储过程、函数、触发器等,以增强数据库的功能和性能。 四、表和索引 了解如何创建、修改和删除表,以及如何设计合理的数据库模式,是Oracle 10g...

    Oracle 10g sql 学习笔记

    Oracle 10g SQL 学习笔记涵盖了Oracle数据库的基础知识,包括版本信息、数据库系统特点、关系型数据库结构、SQL语言、操作环境以及常见的数据库操作。以下是对这些知识点的详细说明: 1. **Oracle 9i基础知识**: ...

    不错oracle10g学习资料,很全面

    "不错oracle10g学习资料,很全面"这一标题,明确指向了Oracle 10g的学习资源,暗示着这些资料涵盖了Oracle 10g的各个方面,从基础操作到高级功能,应有尽有。对于想要深入了解和掌握Oracle 10g的IT专业人士来说,这是...

    Oracle 10g 学习笔记

    │ oracle10g系统管理之表空间(一) - lvhuiqing的专栏 - CSDN博客.mht.lnk │ oracle10g系统管理之表管理 - lvhuiqing的专栏 - CSDN博客.mht │ oracle10g系统管理之表管理 - lvhuiqing的专栏 - CSDN博客.mht.lnk ...

    Oracle11g学习笔记

    Oracle11g是一款广泛应用于企业级数据库管理的系统,它提供了高效、稳定且安全的数据存储与管理解决方案。这篇学习笔记将带你深入理解Oracle11g的核心概念和技术,帮助你踏上数据库管理的成功之路。 首先,Oracle11...

    Oracle 10g DBA 学习手册中文版

    Oracle 10g数据库管理员(DBA)学习手册是一份重要的技术参考资料,尤其对于那些希望深入理解Oracle数据库管理和运维的人员来说。Oracle 10g是Oracle公司的一个关键版本,它引入了许多创新特性,增强了数据库的性能...

    Oracle 10g 联机文档

    Oracle 10g 联机文档是Oracle公司为该版本数据库系统提供的官方技术参考,是深入了解和学习Oracle数据库管理、开发与优化的重要资源。它包含了大量的技术指南、概念解释和参考手册,覆盖了从安装配置到日常运维的...

    linux之oracle10g安装

    Oracle 10g是一款功能强大的关系型数据库管理系统,常用于企业级的数据存储和处理。以下将详细阐述安装过程中涉及的关键知识点。 首先,安装前准备是至关重要的。确保你的Linux系统版本与Oracle 10g兼容,例如RHEL...

    oracle10g admin1

    通过深入学习和实践这些知识点,你可以成为一名熟练的Oracle 10g数据库管理员,有效地管理和维护复杂的数据库系统。这些文档将是你宝贵的参考资料,确保你能够充分利用Oracle 10g的功能,保障业务连续性和数据安全。

    ORACLE 10G OCP 题库

    Oracle 10g OCP(Oracle Certified Professional)是Oracle公司为数据库管理员提供的专业认证,它证明了持证者在管理Oracle 10g数据库系统方面具备高级技能和知识。这个题库是准备Oracle 10g OCP考试的重要资源,...

Global site tag (gtag.js) - Google Analytics