首页 > 其他 > 详细

存储过程

时间:2016-12-05 20:13:31      阅读:275      评论:0      收藏:0      [点我收藏+]
CREATE [OR REPLACE] PROCEDURE procedure_name
    [ (parameter [,parameter]) ]

IS
    [declaration_section]

BEGIN
    executable_section

[EXCEPTION
    exception_section]

END [procedure_name];

先初始化数据。

create table students
( 
  ID int,
  userName varchar(100),
  userPass varchar(100),
  userAge  int
)
begin
insert into students values(1,‘jack‘,‘jjjaa‘,23);
insert into students values(2,‘rose‘,‘jjjaa‘,21);
insert into students values(3,‘lucy‘,‘jjjaa‘,22);
insert into students values(4,‘Tony‘,‘jjjaa‘,24);
end; commit;

新建一个存储过程,对于某个用户添加年龄

create or replace procedure  SP_Update_Age
(
 uName in varchar,--note,here don‘t have length ,sql have lenth ,not in oracle.
 Age in int
)
as
begin
    update students set UserAge = UserAge + Age where userName = uName;
    commit;
end SP_Update_Age;  

执行存储过程

call SP_UPDATE_AGE(‘jack‘,1);  

call和exec的区别:

1. 但是exec是sqlplus命令,只能在sqlplus中使用;call为SQL命令,没有限制.

2. 存储过程没有参数时,exec可以直接跟过程名(可以省略()),但call则必须带上().

 

存储过程

原文:http://www.cnblogs.com/bulrush/p/6134992.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!