oracle存储过程----存储过程执行简单的增删改查sql

存储过程执行简单的增删改查sql

  上一篇文章 oracle存储过程—-变量的介绍及使用(PL/SQL)
  下边是一个简单的数据库表,为了方便,我都定义成了varchar 类型。
这里写图片描述

1、存储过程执行增加sql

  首先写一个增加的存储过程:

create or replace procedure test_add_procedure
(id varchar,createtime varchar,name varchar,
age varchar,sex varchar)
AS
BEGIN
insert into ly_ds values(id,createtime,name,age,sex);
commit;  --别忘了加提交
end;

  执行语句如下:

set serveroutput on;
call test_add_procedure(4,'2018-08-09','李四','20','女');

  上一篇的时候,执行存储过程的方法,是两边加BEGINEND ,或者是前边加execute ,现在又发现一个,前边加call ,而且我还听说,call 可以在java 等外部语言中调用的时候,用它去执行的存储过程。
这里写图片描述
  执行完之后,发现多了一条数据。

2、存储过程执行修改、删除sql
create or replace procedure test_update_procedure
(dsId varchar,mc varchar)
AS
BEGIN
update ly_ds set ly_mc = mc where id = dsId ;
commit; --别忘了加提交
end;

  执行语句如下:

set serveroutput on;
call test_update_procedure(3,'赵六六');

  数据库中的变化,即名称从赵六 变为赵六六 了。
这里写图片描述
  删除与修改是一样的,那就不写了。

3、存储过程执行查询sql

  查询的存储过程,稍微麻烦点。
  比如按照某个条件查询总条数。可以这么写:

create or replace procedure test_select2_procedure
(sex  varchar)
AS
countNum number(10); --别忘了写上具体的长度,并且以分号结束
maxId number(10); --别忘了写上具体的长度,并且以分号结束
BEGIN
select count(*),max(id) into countNum,maxId from ly_ds where LY_NB=sex;
dbms_output.put_line(countNum);
dbms_output.put_line(maxId);
END;

  上边又新学习了两个概念:

  • 第一个是as 之后的声明变量。这个要求跟上一篇上的declare 定义变量是一样的要求。
  • 第二个是into 赋值,即,当你相对查询结果赋值就通过into 去赋值。并且into 可以对多个参数赋值,中间用, 隔开即可。

  执行的语句如下:

set serveroutput on;
execute test_select2_procedure('女');
  上边这个简单的查询是,返回结果一条记录的情况,如果多条记录,就需要循环,并且使用游标了。我放到下一篇里详细再写了。

  下一篇是 oracle存储过程—-游标(cursor)的学习

  • 8
    点赞
  • 83
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

茁壮成长的凌大大

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值