Oracle 存储过程 函数

本文深入探讨了PL/SQL中存储过程和函数的使用,包括语法、参数类型及调用方法,并通过实例展示了如何实现输入输出、变量传递等操作。

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

存储过程 函数
 子程序
  有名字 存储在数据库
  同过名字调用
  创建的时候被编译
  可以被其他有名或者无名的块调用
  
 语法
  create or replace procedure testP1
  as
   --声明
  begin
   --可执行
   dbms_output.put_line('hello world');
  end;
  /
 使用
  execute testP1;
  call testP1();
  begin
   testP1;
  end;
  /
  
  dbms_output.put_line()
  
  
  带参数
   ---varchar2不加长度
   create or replace procedure println(v_name varchar2)
   as
   begin
    dbms_output.put_line(v_name);
   end;
   /

   begin
    println('adsads');
   end;
   /
   
   in  out   in out 参数
   
   out被赋值
    create or replace procedure testP2(v_str out varchar2)
    as
    begin
     println('='||v_str||'=');
     v_str:='handson';
    end;
    /
   declare
    v_str varchar2(20):='hello';
   begin
    println(v_str);
    testP2(v_str);--要求必须是声明过的变量传入
    println(v_str);
    println('asdasa');
    --testP2('asdasd');
   end;
   /

create or replace procedure testP2(v_str in out varchar2,v_name in varchar2,salary out number)
    as
    begin
     println('='||v_str||'=');
     v_str:='handson';
    end;
    /
    
  函数
   明确返回类型
   调用
   create or replace function testF1(v_name varchar2)
   return number
   as
    v_num number:=length(v_name);
   begin
    println(v_name);
    return v_num;
   end;
   /
   调用
   declare
    num number;
   begin
    num:=testF1('handson');
    println(num);
   end;
   /
   
   select testF1(name) from testA;
   
   
   plsql 给变量赋值有哪几种方式?
   初始值
   可执行部分赋值
   out  procedure function
   function 返回值
   select  into
   fetch into

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值