PL/SQL存储过程
PL/SQL存储过程或者简单地说是一个执行一个或多个特定任务的PL/SQL块。它与其他编程语言中的过程类似。
该过程包含一个头部和一个主体。
- 头部: 头部包含过程的名称以及传递给过程的参数或变量。
- 主体: 主体包含了一个声明部分、执行部分和异常部分,类似于一般的PL/SQL块。
如何在过程中传递参数:
当你想要创建一个过程或函数时,你必须定义参数。在过程中有三种传递参数的方式:
- IN参数: IN参数可以被过程或函数引用。参数的值不能被过程或函数覆盖。
- OUT参数: OUT参数不能被过程或函数引用,但是参数的值可以被过程或函数覆盖。
- INOUT参数: INOUT参数可以被过程或函数引用,并且参数的值可以被过程或函数覆盖。
一个过程可以返回或者不返回任何值。
PL/SQL创建过程
创建过程的语法:
CREATE [OR REPLACE] PROCEDURE procedure_name
[ (parameter [,parameter]) ]
IS
[declaration_section]
BEGIN
executable_section
[EXCEPTION
exception_section]
END [procedure_name];
创建示例存储过程
在这个示例中,我们将在用户表中插入记录。所以你需要先创建用户表。
表的创建:
create table user(id number(10) primary key,name varchar2(100));
现在编写过程代码在用户表中插入记录。
过程代码:
create or replace procedure "INSERTUSER"
(id IN NUMBER,
name IN VARCHAR2)
is
begin
insert into user values(id,name);
end;
/
输出:
Procedure created.
PL/SQL程序调用过程
让我们看看调用上面创建的过程的代码。
BEGIN
insertuser(101,'Rahul');
dbms_output.put_line('record inserted successfully');
END;
/
现在,请查看“USER”表,您将看到已插入一条记录。
ID | Name |
---|---|
101 | Rahul |
PL/SQL 删除存储过程
删除存储过程的语法
DROP PROCEDURE procedure_name;
丢弃过程示例
DROP PROCEDURE pro1;