pl/sql

PL/SQL简介

创建函数

 

创建过程

createor replace procedure syk_reg

is

begin

dbms_output.put_line('这是我的第一个有名字的存储过程');

end;

 

定义包头

--包头

CREATEOR REPLACE PACKAGE comm_package

IS

 

PROCEDUREp_jia(a NUMBER,b NUMBER);

ENDcomm_package;

 

 

--包体

CREATEOR REPLACE PACKAGE BODY comm_package

IS

PROCEDUREp_jia(a NUMBER,b NUMBER)

IS

BEGIN

  dbms_output.put_line(a+b);

 

ENDp_jia;

ENDcomm_package;

 

 

 

--测试

DECLARE

BEGIN

COMM_PACKAGE.p_jia(1,1);

END;

 

输入输出参数

 

CREATEOR REPLACE PROCEDURE myOut(n1 NUMBER,n2 NUMBER)

AS

v_tempNUMBER

BEGIN

v_temp:=n1;

n2:=3*v_temp;

END;

 

 

DECLARE

my_varNUMBER:=1;

BEGIN

dbms_output.put_line('befor='||my_var);

MYOUT(3,my_var);

dbms_output.put_line('after='||my_var);

END;

 

创建一个用户并授与权限:

SQL>create user zhangsan identified by a123456;

 

用户已创建。

SQL>grant connect,resource,dba to zhangsan;

 

授权成功。

zhangsan的名字登录:

SQL>conn zhangsan/a123456;

已连接。

SQL>show user;

USER 为"ZHANGSAN"

使用sqlplus.exe    sqlplusw.exe     sqlplus /nolog  conn /assysdba;

 

hibernate里调用存储过程

1.建立存储过程

createor replace procedure insertEmp

as

begin

insertinto my_Emp values(111,'zhangsan',111);

end;

 

 

2.hibernate的实现类里调用存储过程来插入数据

SessionFactorysf=new Configuration().configure().buildSessionFactory();

Sessionsession=sf.openSession();

Transactiontrans=session.beginTransaction();

trans.begin();

 

//-----------------------------------------------------------

PreparedStatementpst=session.connection().prepareStatement("{call insertEmp}");

pst.execute();

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值