• 转:ORACLE存储过程笔记1----基本语法(以及与informix的比较)


    一、基本语法(以及与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;
     
    其中 执行部分是必须的。
  • 相关阅读:
    12.16省选模拟t2 消防
    12.17省选模拟t3 围豆豆
    12.17省选模拟t1 生日礼物
    CF1322D Reality Show
    winform拖动无边框窗体
    关于ToolTip控件在XP系统中问题
    JDK源代码里面的一个for循环
    IIS5.1 无法运行asp.net网站但可访问静态页的解决方案
    winform窗体去掉标题头部的两种方式
    C# 语法之泛型
  • 原文地址:https://www.cnblogs.com/dancheblog/p/4271634.html
Copyright © 2020-2023  润新知