zoukankan      html  css  js  c++  java
  • 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;
     
    其中 执行部分是必须的。
  • 相关阅读:
    SEO网站优化10大要点
    三维翻动效果的jquery特效代码
    多款国外虚拟主机简单比较
    jquery同步调用ajax
    3D虚拟技术
    最简单jquery.ajax+php例子(对话框显示文本框输入内容),以小见大(初学手记)
    正则表达式学习博客
    关于XHTML头部声明,什么是DOCTYPE?
    Iframe高度自适应(兼容IE/Firefox、同域/跨域)
    3D立体产业链的发展现状和趋势
  • 原文地址:https://www.cnblogs.com/Leo_wl/p/5623168.html
Copyright © 2011-2022 走看看