• oracle 存储过程


    oracle 存储过程的基本语法

    create or replace procedure proc1(   
      p_para1 varchar2,                 
      p_para2 out varchar2,   
      p_para3 in out varchar2   
    )as    
     v_name varchar2(20);   
    begin   
      v_name := '张三丰';   
      p_para3 := v_name;   
      dbms_output.put_line('p_para3:'||p_para3);   
    end;

    注:创建语句:create or replace procedure 存储过程名,如果没有or replace语句,则仅仅是新建一个存储过程。如果系统存在该存储过程,则会报错。Create or replace procedure 如果系统中没有此存储过程就新建一个,如果系统中有此存储过程则把原来删除掉,重新创建一个存储过程。 
    存储过程名定义:包括存储过程名和参数列表。参数名和参数类型。参数名不能重复, 参数传递方式:IN, OUT, IN OUT 
    IN 表示输入参数,按值传递方式。 
    OUT 表示输出参数,可以理解为按引用传递方式。可以作为存储过程的输出结果,供外部调用者使用。 
    IN OUT 即可作输入参数,也可作输出参数。 
    参数的数据类型只需要指明类型名即可,不需要指定宽度。 
    参数的宽度由外部调用者决定。 
    过程可以有参数,也可以没有参数 
    变量声明块:紧跟着的as (is )关键字,可以理解为pl/sql的declare关键字,用于声明变量。 
    变量声明块用于声明该存储过程需要用到的变量,它的作用域为该存储过程。另外这里声明的变量必须指定宽度。遵循PL/SQL的变量声明规范。 
    过程语句块:从 begin 关键字开始为过程的语句块。存储过程的具体逻辑在这里来实现。 
    异常处理块:关键字为exception ,为处理语句产生的异常。该部分为可选 
    结束块:由end关键字结果。

    示例:

    create or replace procedure sp_name (
            -- 入参、出参列表, 逗号分隔。
            uid in varchar2,                          -- 不能带长度信息
            startDate in date,                        -- 第二个输入参数
            defaultVar in varchar2 default "",        -- 默认参数,如果不传,要注意参数的顺序
            isok out number,                          -- 输出参数
            result out varchar2                       -- 第二个输出参数
    )
    as
    -- 变量声明,每个声明用分号结束,可以在声明的同时初始化
    var1 varchar2(11);
    var2 number(2) := 123;
    
    begin
            -- 字符串拼接用 ||
            dbms_output.put_line('isok:' || 'abc');
           
            -- 调用其他存储过程
            sub_sp_name(param1, prarm2, outParam1, outParam2);
    
    end;        -- 存储过程结束
  • 相关阅读:
    使用UFW防火墙拦截特定IP地址
    利用iptables防止syn flood攻击
    DDOS攻击模拟复现
    服务器遭到SYN攻击怎么办?如何防御SYN攻击?
    iptables限制同一IP连接数
    TIME_WAIT和CLOSE_WAIT状态区别
    详解TIME_WAIT过多,引起的请求502的问题。
    TIME_WAIT太多解决思路和方法
    黑客是如何攻击 WebSockets 和 Socket.io的
    免费CDN加速CloudFlare申请教程及使用 提供免费加速和防DDOS攻击
  • 原文地址:https://www.cnblogs.com/wakey/p/4343848.html
Copyright © 2020-2023  润新知