• ORACLE存储过程笔记1


     ORACLE存储过程笔记1

    一、基本语法(以及与informix的比较)
     
    create [or replace] procedure procedure_name (varible {IN|OUT|IN OUT} type)  {IS|AS}

    [varible { in | out | in out }]  type;
    [varible { in | out | in out }] type;
    ......
     
    [cursor curor_name IS select subclause]
     
    begin
     
    body
     
    end [procedure_name];
     
     

    for example:
     
    create or replace procedure sp_login_error_count(user_name_var varchar2) IS
    --创建名为sp_login_error_count的存储过程,并定义传参
    --informix的语法(drop procedure sp_login_error_count;create procedure sp_login_error_count(user_name_var varchar(50)))
     
    error_count_var integer;
    --变量定义
    --informix语法(define error_count_var integer;)
     
    begin
    --程序开始
    --informix语法一样
     
    select error_count into error_count_var from users where user_name=user_name_var;
    --select语句,找到的值放到变量中
    --informix语法一样
     
    error_count_var :=error_count_var+1;
    --变量加1,这是pl/sql的变量赋值运算。
    --informix语法(let error_count_var=error_count_var+1;)
     
    update users set error_count= error_count_var where user_name =user_name_var ;
    --更新统计数
    --informix语法一样
     
    commit;
    --提交
    --informix不需要提交
     
    end sp_login_error_count;
    --结束存储过程
    --informix语法(end procedure;)
     

    ORACLE存储过程执行为execute procedure_name或exec procedure_name
    INFORMIX存储过程执行为execute procedure procedure_name
     
    pl/sql程序由三个块组成:声明部分、执行部分、异常处理部分
    declare  
        /*   声明部分: 在此声明PL/SQL用到的变量,类型及光标 */
    begin
        /*  执行部分:  过程及SQL语句  , 即程序的主要部分  */
    Exception
       /* 执行异常部分: 错误处理  */
    End;
     
    其中 执行部分是必须的。
  • 相关阅读:
    Xamarin.Forms的ActivityIndicator和ProgressBar比较
    SSL剥离工具sslstrip
    服务器SSL/TLS快速检测工具TLLSSLed
    网站robots.txt探测工具Parsero
    采集网站特殊文件Meta信息
    海量端口扫描工具masscan
    Uip + Stm32移植问题总结【转】
    Micro Python 嵌入式以太网社区
    TEA加密算法的C/C++实现
    STM32F4系列外设驱动【不再更新】
  • 原文地址:https://www.cnblogs.com/Leo_wl/p/5623168.html
Copyright © 2020-2023  润新知