美文网首页
【济南校区】oracle存储过程的使用

【济南校区】oracle存储过程的使用

作者: keaiai | 来源:发表于2018-05-13 22:50 被阅读0次

【济南校区】oracle存储过程的使用

1.什么是oracle的存储过程?存储过程是在大型数据库系统中,一组为了完成特定功能的sql语句集,经编译后存储在数据库中,用户通过指定存储过程的名字并给出参数来执行它。存储过程是数据库中重要对象,任何一个设计良好的数据库应用程序都应该用到存储过程。

2.

创建存储过程的语法?

create [or replace]procedure

过程名【(参数名 in/out 数据类型)】

AS

begin

PLSQL

子程序体;

end

;或者

create[or replace]procedure

过程名【(参数名 in/out 数据类型)】

is

begin

PLSQL

子程序体;

end

具体使用:

2.1--

创建不带传出参数的存储过程

create or replace procedure pro_owners_add

(

v_name varchar2,--

名称

v_addressid number,--

地址编号

v_housenumber varchar2,--

门牌号

v_watermeter varchar2,--

水表号

v_ownertypeid number--

业主类型

)

is

begin

insert into t_owners

values(seq_owners.nextval,v_name,v_addressid,v_housenumber,v_watermeter,sysdate,v_ownertypeid );

commit;

end;

--

调用不带传出参数的存储过程

call pro_owners_add( '

马大哈',2,'22333','66777',1 );

begin

pro_owners_add( '

马小哈',2,'22333','223344',1);

end;

2.2--

创建带传出参数的存储过程

create or replace procedure pro_owners_add

(

v_name varchar2,--

名称

v_addressid number,--

地址编号

v_housenumber varchar2,--

门牌号

v_watermeter varchar2,--

水表号

v_ownertypeid number,--

业主类型

v_id out number

)

is

begin

--

对传出参数赋值

select seq_owners.nextval into v_id from dual;

--

新增业主

insert into t_owners

values(v_id,v_name,v_addressid,v_housenumber ,v_watermeter,sysdate,v_ownertypeid );

commit;

end;

--

调用传出参数的存储过程

declare

v_id number;

begin

pro_owners_add( '

马二哈',2,'22333','2233666',1,v_id);

dbms_output.put_line(v_id);

end;

下面是java项目调用存储过程的实现方式:

java.sql.Connection conn = null;

java.sql.CallableStatement stmt = null;

//下面采用的是封装的JDBC创建连接

conn =DaoUtil.getConnection();

stmt =conn.prepareCall("{call pro_owners_add(?,?,?,?,?)}");

stmt.setString(1,owners.getName());

stmt.setLong(2,owners.getAddressid());

stmt.setString(3,owners.getHousenumber());

stmt.setString(4,owners.getWatermeter());

stmt.setLong(5,owners.getOwnertypeid());

stmt.execute();

[if !supportLineBreakNewLine]

[endif]

【黑马程序员济南】小鲁哥哥全学科技术整合帖(一贴在手!天下我有!)

如果你想了解更多黑马课程,如果你想加入黑马这个大家庭学习先进技术,光交天下好友,那就快来吧!黑马程序员济南中心联系电话:0531-55696830

相关文章

  • 【济南校区】oracle存储过程的使用

    【济南校区】oracle存储过程的使用 1.什么是oracle的存储过程?存储过程是在大型数据库系统中,一组为了完...

  • oracle存储过程基本使用

    存储过程在数据库开发的过程中使用比较频繁,它也有着普通sql语句不可替代的作用,可以有效的提程序的执行效率。存储过...

  • 查询job和sql的执行情况

    参考链接 oracle job 定时执行 存储过程 Oracle job procedure 存储过程定时任务 O...

  • oracle之存储过程、函数、包

    参考链接 Oracle创建存储过程、创建函数、创建包——博客园@helong ORACLE执行存储过程权限不足—...

  • Oracle存储过程-1

    Oracle存储过程 1, 存储过程的创建 CREATE OR REPLACE PROCEDURE 过程名(参数列...

  • oracle 存储过程

    一.带输入输出参数 建存储过程语句: create or replace procedure proc_tes...

  • Oracle存储过程

    查看存储过程 select * from user_source 准备数据 create table studen...

  • Oracle 存储过程

    语法 输出begin -- Test statements here DBMS_OUTPUT.put_line...

  • Oracle存储过程

    2019-05-13 存储过程是用来完成指定任务的程序,存储在数据库系统中,用户可以远程调用存储过程。 存储过程的...

  • Oracle 存储过程

    TODO

网友评论

      本文标题:【济南校区】oracle存储过程的使用

      本文链接:https://www.haomeiwen.com/subject/bfurdftx.html