PL/SQL 05 存储过程 procedure
--存储过程(不带参数)
create or replace procedure 存储过程名
as
变量、常量声明;
begin
代码;
end;
--存储过程(带输入参数)
create or replace procedure 存储过程名(参数1 类型,参数2 类型,...) --可以设默认值,如low int:=1000
as
变量、常量声明;
begin
代码;
end;
--存储过程(带输出参数)
create or replace procedure 存储过程名(参数1 out 类型,参数2 类型,...) --如avgscore out stu.score%type
as
变量、常量声明;
begin
代码;
end;
--存储过程内部返回用 return;
--存储过程和游标配合使用
create or replace procedure test1(j emp.job%type)
as
cursor test
is select empno,ename from emp where job=j;
eno emp.empno%type;
ena emp.ename%type;
begin
open test;
loop
fetch test into eno,ena;
exit when test%notfound;
dbms_output.put_line(eno||' '||ena);
end loop;
close test;
end;
--例子 常量加前缀v_ 参数加前缀p_ (不要和表字段一样,会出问题)
create or replace procedure
pro_test(p_stuno varchar2)
as
v_score number(3);
cursor cur_test is
select sco.score from score sco
where sco.stuno=p_stuno;
begin
open cur_test;
loop
fetch cur_test into v_score;
exit when cur_test%notfound;
dbms_output.put_line(p_stuno|| ' score is: '||v_score);
end loop;
close cur_test;
end;
--调用存储过程
begin
pro_test('stu001');
end;
PL/SQL 05 存储过程 procedure的更多相关文章
- PL/SQL之--存储过程
一.存储过程 存储过程是一组为了完成特定功能的SQL 语句集,经编译后存储在数据库中,用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它.oracle可以把PL/SQL程序储存在数 ...
- PL/SQL之存储过程和函数
1.创建存储过程 .1语法: CREATE[OR REPLACE] PROCEDURE [schema.] procedure_name[(argument[{IN|OUT|IN OUT}] data ...
- PL/SQL编程—存储过程
SQL> create or replace procedure sp_pro3(name_in varchar2,id_in varchar2) is begin update mytest ...
- oracle 学习(五)pl/sql语言存储过程&包
首先搞清楚俩概念 存储过程(procedure)&程序包(package) 存储过程:数据库对象之一,可以理解为数据库的子程序,在客户端和服务器端可以直接调用它.触发器是与表直接关联的特殊存储 ...
- 使用PL/SQL编写存储过程访问数据库
一.实验目的 熟悉使用存储过程来进行数据库应用程序的设计. 二.实验内容 对学生-课程数据库,编写存储过程,完成下面功能: 1.统计离散数学的成绩分布情况,即按照各分数段统计人数: 2.统计任意一门课 ...
- 在oracle RAC 环境下用 PL/SQL Developer debug procedure 出现 hang 的情况
现象描述: 用plsql developer 连接编译procedure 的时候都很正常.一旦开始Test进入Debug模式的时候就Hang住了. 初步猜测是没有权限,可是是DBA角色呀,如果没有权限 ...
- PL/SQL出现存储过程注释中文乱码
进入PL/SQL命令行窗口输入:select userenv('language') from dual 查出数据库字符集 输入:select * from V$NLS_PARAMETERS 查出NL ...
- PL/SQL通过存储过程为相同数据添加序号
在Oracle数据库中存有一串数据(Ori_Seq),数据包含不等量重复: 为方便查看与管理,现希望添加一字段(New_Seq),在原有数据的末尾为其添加一串序号,相同数据序号从小到大排列,序号长度为 ...
- PL/SQL之存储过程和触发器实例
1.Oracle存储过程实例 /*不带任何参数存储过程(输出系统日期)*/ CREATE OR REPLACE PROCEDURE output_date IS BEGIN DBMS_OUTPUT.P ...
随机推荐
- Fluentd插件使用方法
这里主要介绍从MongoDB同步数据到ODPS.ruby环境的搭建以及fluent_plugin_mongo_odps插件的安装.1.准备工作1.1安装环境要求Ruby 2.1以上Gem 2.4.5以 ...
- C指针分析详解
局部变量和全局变量初始化区别: 局部变量,在未初始化情况下,初值为随机值.C规范对该初值并没有做规定,具体实现由编译器决定.如VC/VS等编译器,会将初始值值为0xCCCCCCCC, 而GCC等编译器 ...
- kaldi GMM模型解码指令 gmm-latgen-faster详解
目录 - 作用: - 用法: - 可选项及含义: - 使用实例: - 作用: Generate lattices using GMM-based model. 生成基于GMM模型的lattice词格) ...
- JavaSE复习(三)异常与多线程
异常 分类 编译时期异常:checked异常. 在编译时期,就会检查,如果没有处理异常,则编译失败.(如日期格式化异常) 运行时期异常:runtime异常. 在运行时期,检查异常.在编译时期,运行异常 ...
- 软工实践 - 第二十六次作业 Beta 冲刺(4/7)
队名:起床一起肝活队 组长博客:https://www.cnblogs.com/dawnduck/p/10124816.html 作业博客:班级博客本次作业的链接 组员情况 组员1(队长):白晨曦 过 ...
- systemPath
<dependency> <groupId>com.aliyun.mns</groupId> <artifactId>aliyun-sdk-mn ...
- DataView RowFilter Syntax [C#]
RowFilter语法 private void btnEnquiry_Click(object sender, EventArgs e) { string filterExpression = st ...
- Delphi 之 编辑框控件(TEdit)
TEdit 组件主要用于数据的输入和显示和编辑等操作. AutoSelect 获取组件焦点.该属性只能在单行文本组件使用.值为True为选中.false则不选中. BorderStyle 设置编辑框控 ...
- C#中构造函数和析构函数的用法
构造函数与析构函数是一个类中看似较为简单的两类函数,但在实际运用过程中总会出现一些意想不到的运行错误.本文将较系统的介绍构造函数与析构函数的原理及在C#中的运用,以及在使用过程中需要注意的若干事项.一 ...
- 洛谷 P2611 [ZJOI2012]小蓝的好友 解题报告
P2611 [ZJOI2012]小蓝的好友 题目描述 终于到达了这次选拔赛的最后一题,想必你已经厌倦了小蓝和小白的故事,为了回馈各位比赛选手,此题的主角是贯穿这次比赛的关键人物--小蓝的好友. 在帮小 ...