Oracle 之存储过程(一)

本文介绍了存储过程的概念及其在数据库中的应用。包括存储过程的定义、特点、创建语法及不同类型的存储过程示例,如无参数存储过程和带有输入参数的存储过程,并展示了具体的调用方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

定义:存储过程是命名的pl/sql程序块,封装数据业务操作,具有模块化、可重用、可维护、更安全特点;并且可以被程序调用。一般有4种类型的存储过程,分别为不带参数、带入参数、带输出参数、带输入输出参数。

语法:CREATE [OR REPLACE] PROCEDURE <过程名>[参数列表] IS|AS

            [局部变量声明]

            BEGIN

                    可执行语句

[EXCEPTION

                             异常处理语句]

                        END[<过程名>];


OR REPLACE:如果系统已存在该存储过程,将被替换

参数列表:参数不需要声明长度,可选

参数变量的类型:in 为默认类型,表示输入;out 表示只输出;in out 表示即输出输入;

调用方式:1:在pl/sql块中直接使用过程名;

                 2:在pl/sql程序外使用 exec[ute] <过程名>[参数列表];

无参存储过程

    授予czw创建存储过程权限

    grant create procedure to czw;

    使用无参存储过程,注意无参存储过程创建时不能使用()

    create or replace procedure pro_helloWorld

    as

    begin

        dbms_output.put_line('hello world');

    end;

方式一:调用存储过程,可加可不加()

    begin

    pro_helloWorld;

    end;

方式二:调用存储过程,可加可不加()

    exec pro_helloWorld;

有输入参数存储过程

create or replace procedure pro_add_emp(

    p_empno in emp.empno%type,

    p_ename in varchar2,

    p_sal number

)

as

begin

insert into emp(empno,ename,sal) values(p_empno,p_ename,p_sal);

end;

调用存储过程,想emp表插入新数据

begin

    pro_add_emp(2001,'czw2001',3000);

    pro_add_emp(2002,'czw2002',2000);

    pro_add_emp(2003,'czw2003',4000);

end;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值