重庆思庄Oracle、Redhat认证学习论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 904|回复: 0
打印 上一主题 下一主题

[Oracle] oracle中怎么创建存储过程

[复制链接]
跳转到指定楼层
楼主
发表于 2023-1-10 15:08:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
在oracle中,可以使用“CREATE PROCEDURE”语句来创建存储过程,基本语法“CREATE [OR REPLACE] PROCEDURE 过程名 [参数列表] IS [...] BEGIN ... END [过程名];”。


什么是存储过程?
所谓存储过程(Stored Procedure),就是一组用于完成特定数据库功能的SQL语句集,该SQL语句集经过编译后存储在数据库系统中。
在使用时候,用户通过指定已经定义的存储过程名字并给出相应的存储过程参数来调用并执行它,从而完成一个或一系列的数据库操作。

oracle创建存储过程
语法

CREATE [OR REPLACE] PROCEDURE 过程名 [ (参数 [,参数]) ]
IS
    [declaration_section]
BEGIN
    executable_section
[EXCEPTION
END [过程名];

以下是创建过程必须定义的三种类型的语句。
  • IN:这是一个默认参数,它将值传递给子程序。
  • OUT:必须指定,它向调用者返回一个值。
  • IN OUT:必须指定,它将初始值传递给子程序并将更新的值返回给调用者。

Oracle创建过程示例
在此示例中,将在user表中插入记录,所以需要先创建user表。
user表创建语句:
create table user_test(id number(10) primary key,name varchar2(100));
现在编写程序代码以在user表中插入记录。
create or replace procedure "INSERTUSER"
(id IN NUMBER,
name IN VARCHAR2)
is
begin
    insert into user_test values(id,name);
end;

/
执行上面代码,得到以下结果
Procedure created.

Oracle程序调用过程
让我们来看看如何调用上面创建的过程。参考以下示例代码
BEGIN
   insertuser(101,'Maxsu');
   dbms_output.put_line('record inserted successfully');
END;
/

现在,查看USER表中的记录,将看到上面插入了一条记录。
ID        Name
---------------------------

101        Maxsu

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 支持支持 反对反对
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|手机版|小黑屋|重庆思庄Oracle、Redhat认证学习论坛 ( 渝ICP备12004239号-4 )

GMT+8, 2024-4-27 06:37 , Processed in 0.092744 second(s), 20 queries .

重庆思庄学习中心论坛-重庆思庄科技有限公司论坛

© 2001-2020

快速回复 返回顶部 返回列表