欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

数据库_存储过程简介(oracle版)

程序员文章站 2023-01-16 08:00:55
应朋友要求,写个存储过程说明,本篇比较简单,适合新接触存储过程的同学 先来个简单的 如果使用的是PL/SQL,执行后会在output中打印my first execute,那么这里就有了第一个功能 dbms_output.put_line,在output里面打印结果,另外还有dbms_output. ......

应朋友要求,写个存储过程说明,本篇比较简单,适合新接触存储过程的同学

先来个简单的

begin
  dbms_output.put_line('my first execute');
end;

如果使用的是pl/sql,执行后会在output中打印my first execute,那么这里就有了第一个功能

dbms_output.put_line,在output里面打印结果,另外还有dbms_output.put,这个通常不用,put不含回车,而put_line是含回车的

数据库_存储过程简介(oracle版)

下面介绍下如何写一个完整的存储过程,一个完整的存储过程,如下

create or replace procedure my_first_pro(user_input varchar2) as
  n number;
begin
  n := 1;
  dbms_output.put_line('user input values is '||user_input);
  dbms_output.put_line('n = '||n);
end;

一个完整的存储过程至少包含两部分

1、创建一个叫my_first_pro的存储过程create procedure my_first_pro as

2、begin

      end;

      在begin和end中间是存储过程需要实现的功能

下面对上面代码做一个说明

    创建存储过程不解释了,or replace表示使用新修改的存储过程覆盖现有的存储过程,可以尝试不加这个,如果不加的话会提示报错存储过程已存在,即不可覆盖

    在存储过程名称后面的括号里面,user_input varchar2这个是输入参数,默认是in参数,如果是输出参数,可以输入user_output out varchar2

    n number 这个是声明变量,变量在使用前必须声明,并表明类型,这点和c很像,具体类型可百度,常用的有number、varchar2、char(1)

    n := 1 对n进行赋值,oracle里为了区分判断使用=和赋值使用=的区别,在赋值时不能直接使用=,需要使用:=

    dbms_output.put_line讲过了,值得说明的是在存储过程里面支持oracle的sql所有功能,用法也差不多,比如这里使用的连接符||

那么结果就是显示入参的values和n的赋值

数据库_存储过程简介(oracle版)

先写这些了,睡觉,明天写for和游标