oracle 存储过程(分析理解)
我的理解 比较简单(仅供参考) 存储过程就相当于java里面的方法 简单讲就是一串代码能够实现某个特定的功能,想要使用这个方法直接调用方法名就能够使用他的功能,这就是方法
oracle 存储过程也相当于是写方法来调用 用图片的形式来解释 通俗易懂 有中文解释
1.无参存储过程 or replace一般不要写 仅供学习的时候写上 工作不要写
2.带参存储过程 多个参数用逗号隔开
3.定义变量以及赋值
4.打印语句
5.简单的操作
写一存储过程,打印1-n n是传入的参数 要用到循环
--创建一个存储过程 for 循环
CREATE OR replace PROCEDURE xunhuan(n NUMBER) AS
BEGIN
FOR a IN 1..n
LOOP
dbms_output.put_line(a);
END LOOP;
END;
--sql语句
DECLARE
n NUMBER:=15;
BEGIN
xunhuan(n);
END;
-- while 循环
CREATE PROCEDURE zzzz(n NUMBER)
AS
a NUMBER:=1;
BEGIN
WHILE a<=n
LOOP
dbms_output.put_line(a);
a:=a+1;
END LOOP;
END;
DECLARE
cc NUMBER:=15;
BEGIN
zzzz(cc);
END;
--结果
6.稍微难一点的
--写一存储过程,求m-n的累加和并返回
jiashu和jiash后面的in是入参的意思 就是写入参数,out是返回值(装返回内容的)
CREATE OR REPLACE PROCEDURE fangfa1
(
jiashu IN NUMBER ,
jiash IN NUMBER ,
he OUT NUMBER--返回结果
)
AS
v_sum NUMBER:=0;--装结果
BEGIN
FOR j IN jiashu..jiash
LOOP
v_sum:=v_sum+j;
END LOOP;
he:=v_sum;
END;
--调用
DECLARE
qq number:=1;
ww NUMBER:=100;
he number;--用来接收返回值的
BEGIN
fangfa1(qq,ww,he);
dbms_output.put_line(he);
end;
--简单的分享到这
oracle 存储过程(分析理解)的更多相关文章
- Oracle存储过程的理解
在大专时候学的专业是数据库管理专业,在学校学了各种各样的数据 MSSQL.ORACLE.MySQL. 那时候学数据大部分只学到了些皮毛,仅仅只会按照书上SQL语句,输入计算机得出结果,就很有成就感. ...
- 转:用java调用oracle存储过程总结(比较好理解)
这段时间开始学习写存储过程,主要原因还是因为工作需要吧,本来以为很简单的,但几经挫折,豪气消磨殆尽,但总算搞通了,为了避免后来者少走弯路,特记述与此,同时亦对自己进行鼓励. 一:无返回值的存储过程 存 ...
- Oracle 存储过程_(收集)
oracle 存储过程的基本语法 1.基本结构 CREATE OR REPLACE PROCEDURE 存储过程名字( 参数1 IN NUMBER, 参数2 IN NUMBER) IS变量 ...
- Oracle存储过程单步调试方法
oracle存储过程单步调试的方法 1.在要调试的过程上单击test,如下图所示: 2.出现如下界面时单击最左上方的按钮:,如下图所示: 3.单击后呈现如下画面: 其中: 表示要停止test; 表示要 ...
- Oracle存储过程中异步调用的实际操作步骤
本文标签:Oracle存储过程 我们都知道在Oracle数据库的实际应用的过程中,我们经常把相关的业务处理逻辑,放在Oracle存储过程中,客户端以通过ADO来进行相关的调用 .而有些相关的业务逻辑 ...
- 用java调用oracle存储过程总结(转)
//1.call+包名+存储过程名(传入.传出值用?) String str="{call SMSBUSINESS.deleteZhZMember(?,?,?)}"; //2.建立 ...
- 如何在pl/sql developer 7运行到oracle存储过程设置断点的地方
如何高效调试oracle存储过程,尤其是父子网状调用的存储过程 1,在需要设置断点的oracle存储过程处设置断点 如何设置断点:直接在某行oracle存储过程处单击行首,会在行首显示 ...
- 用java调用oracle存储过程总结
以前一直没有动存储过程是用来干嘛的,后来请教朋友才换为自己的理解方式,用自己通俗的语言来说,就是把sql语句换为一个过程,也可以说是一个方法,每次直接给参数调用就好,使用存储过程查询速度快,系统只编译 ...
- Oracle漏洞分析(tns_auth_sesskey)
p216 Oracle漏洞分析: 开启oracle: C:\oracle\product\\db_1\BIN\sqlplus.exe /nolog conn sys/mima1234 as sysdb ...
随机推荐
- JDBCUtils相关
1.之所以使用类加载器InputStream is = JdbcUtils.class.getClassLoader().getResourceAsStream("jdbcInfo.prop ...
- 请求http页面的相关过程
http请求从TCP建立三次握手后进行,客户端按照规定的格式向服务器发送http请求,服务器在接收到这个请求之后,首先要对其进行解析,发掘出客户端所需要的相关资源,然后经过相应的业务逻辑处理,找到这个 ...
- js闭包讲解
今日看到之前写的一段js代码,关于导航部分鼠标放上去变类,鼠标离开等效果 前端代码 <div class="con12"> <div class="le ...
- php读取和导出Excel文件
require 'vendor/PHPExcel/PHPExcel.php';require 'vendor/PHPExcel/PHPExcel/IOFactory.php'; public func ...
- 利用ResultFilter实现asp.net mvc 页面静态化
为了提高网站性能.和网站的负载能力,页面静态化是一种有效的方式,这里对于asp.net mvc3 构架下的网站,提供一种个人认为比较好的静态话方式. 实现原理是通过mvc提供的过滤器扩展点实现页面内容 ...
- Python-----多线程threading用法
threading模块是Python里面常用的线程模块,多线程处理任务对于提升效率非常重要,先说一下线程和进程的各种区别,如图 概括起来就是 IO密集型(不用CPU) 多线程计算密集型(用CPU) 多 ...
- CentOS7 手动部署flannel并启用vxlan
本以为docker准备妥当之后,就可以直接上k8s了,结果yum install kubernetes,报错:Error: docker-ce conflicts with docker-1.9.1 ...
- yum仓库源搭建
本地yum源搭建 cd源 mount /dev/sr0 /mnt vim /etc/yum.repos.d/base.repo [centos-base]name=centos7#baseurl=f ...
- 如何在Github创建repository
第一步:登陆Github,点击new repository 第二步:输入相应内容创建 第三步,创建完成,如下.
- LeetCode Weekly Contest 121
上周因为感冒没有刷题,两个星期没有刷题,没手感了,思维也没有那么活跃了,只刷了一道,下个星期努力. 984. String Without AAA or BBB Given two integers ...