--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、创建存储过程(有参数,且显示指定为输出参数,同时赋默认值)
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
分享到:
相关推荐
│ oracle10g系统管理之表空间(一) - lvhuiqing的专栏 - CSDN博客.mht.lnk │ oracle10g系统管理之表管理 - lvhuiqing的专栏 - CSDN博客.mht │ oracle10g系统管理之表管理 - lvhuiqing的专栏 - CSDN博客.mht.lnk ...
第1章 Oracle Database 10g体系结构 第2章 安装Oracle Database 10g和创建数据库 第3章 升级到Oracle Database 10g 第4章 规划Oracle应用程序——方法、风险和标准 第Ⅱ部分 SQL和SQL*Plus 第5章 SQL中的基本语法 第...
在介绍Oracle系统管理的知识以后,将介绍与开发相关的内容(如PL/SQL基础知识、存储过程、函数、包等),并介绍数据库性能调整,《成功之路:Oracle 11g学习笔记》重点介绍SQL语句调优。SQL语句调优是《成功之路:Oracle...
主要包括:关系数据库设计、Oracle数据库的基本体系结构、存储管理、管理控制文件和日志文件、SQL语言基础、使用SQL*Plus、PL/SQL程序设计、存储过程、触发器和程序包、表、模式对象管理、安全管理以及基本的备份与...
成功之路 Oracle 11g 中文学习笔记 专为开发人员编写,先引导开发新手熟悉Oracle环境,然后进入数据库开发,并要掌握项目开发的一些技巧。开发技巧展示是本书一大特色(这一点很值得资深的开发人员借鉴)! 本书共24...
对于初学者,《Oracle11g从入门到精通》是一本很好的入门教程,对Oracle管理员和应用程序开发员,也有很好的学习和参考价值。 Oracle数据库系统是数据库领域最优秀的数据库之一,《Oracle11g从入门到精通》以...
第10章-存储过程,提高程序执行的效率 什么是存储过程 在SQL*Plus中创建存储过程 使用PL/SQL工具创建存储过程 修改删除存储过程 第11章-触发器,保证数据的正确性 什么是触发器 SQL*PLUS操作触发器 使用PL/SQL...
精通Oracle 10g PL SQL 对于学习plsql 存储过程设计 数据处理 很棒哦
一、 在数据库创建存储过程的脚本,如果使用的是本地的oracle数据库,则需要开启服务:OracleOraDb11g_home1TNSListener和OracleServiceORCL。 存储过程实现:输入用户的工号,输出用户的名字、薪水和工作。 ...
Oracle PLSQL pdf 编程 学习文档 Oracle PLSQL pdf 存储过程 学习文档
主要包括:关系数据库设计、Oracle数据库的基本体系结构、存储管理、管理控制文件和日志文件、SQL语言基础、使用SQL*Plus、PL/SQL程序设计、存储过程、触发器和程序包、表、模式对象管理、安全管理以及基本的备份与...
《Oracle11g宝典》共分19章,第1~4章分别介绍了Oracle11g的下载和安装、SQL*Plus的使用、SQ语言与PL/SQL.程序设计,第5~9章分别介绍了Oracle11g的体系结构、表空间与数据文件的管理、启动和关闭数据库、网络服务...
第7章 子程序和触发器,包括函数、存储过程、包以及触发器等。对子程序的调用者权限、管道表函数、传递触发器标识:new和:old以及自治事务也给出了具体的解决方法。第8 章 LOB与面向对象的数据管理. 第9章 Oracle的...
5.7 如何创建存储过程以及创建存储过程的原因 146 5.8 函数的创建和使用 149 5.9 调用PL/SQL程序 151 5.10 本章测验 152 第6章 数据库管理员 153 6.1 了解DBA的工作 154 6.2 执行日常操作 154 6.2.1 体系结构...
自己查看资料总结的一些语法,函数,存储过程等
对于初学者,《Oracle11g从入门到精通》是一本很好的入门教程,对Oracle管理员和应用程序开发员,也有很好的学习和参考价值。 Oracle数据库系统是数据库领域最优秀的数据库之一,《Oracle11g从入门到精通》以...
7 存储过程 11 №1创建过程 11 №2调用过程 12 №3获取过程信息 12 №4删除过程 12 №5查看过程中的错误 13 №6实际应用示例(积分清零) 13 8 函数 14 №1创建函数 14 №2调用函数 15 №3获取函数信息 15 №4删除...
本文是由笔者2012年学习oracle数据库时编写的学习札记,其中的题目 多数为老师留下的思考题目。 我相信本文会对初学者使用oracle有一个初步的使用印象。右图为我所参 考的书籍。 目录 第一讲 Oacle关系数据库 ...
第1章Oracle 10g简介.ppt 第2章 数据库和表的创建.ppt 第3章 数据库的操作.ppt 第4章 数据库的查询和视图.ppt 第5章 PLSQL介绍.ppt 第6章 存储过程和触发器.ppt 第7章 系统安全管理.ppt 第8章 数据库备份和恢复.ppt ...