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;
 
其中 执行部分是必须的。

ORACLE存储过程笔记1的更多相关文章

  1. ORACLE存储过程笔记3

    ORACLE存储过程笔记3 流程控制 1.条件   if expression thenpl/sql or sqlend if;   if expression thenpl/sql or sqlel ...

  2. ORACLE存储过程笔记2

    ORACLE存储过程笔记2 运算符和表达式     关系运算 =等于<>,!=不等于<小于>大于<=小于等于>=大于等于       一般运算   +加-减*乘/除 ...

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

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

  4. Oracle 存储过程笔记.

    业务说明: 主要用于计算采购加权平均价.入参为年份和月份,首先判断输入的年月是否已经结账,如果已经结账就将所有物料和供应商的采购加权平均价返回. 要点说明: 1.如何在存储过程中定义临时表 答:ora ...

  5. 转: ORACLE存储过程笔记3----流程控制

    流程控制 1.条件   if expression thenpl/sql or sqlend if;   if expression thenpl/sql or sqlelsif expression ...

  6. 转: ORACLE存储过程笔记2----运算符和表达式

    运算符和表达式     关系运算 =等于<>,!=不等于<小于>大于<=小于等于>=大于等于       一般运算   +加-减*乘/除:=赋值号=>关系号. ...

  7. Oracle 存储过程学习笔记

    1.存储过程简单实例 CREATE OR REPLACE PROCEDURE 存储过程名称 (参数in,参数out) AS -- 变量声明,每个声明用分号结束.可以在声明的同时初始化 name ); ...

  8. Oracle学习笔记三 SQL命令

    SQL简介 SQL 支持下列类别的命令: 1.数据定义语言(DDL) 2.数据操纵语言(DML) 3.事务控制语言(TCL) 4.数据控制语言(DCL)  

  9. Oracle存储过程学习备忘

    之前的项目使用存储过程很少,但在实际的项目中,存储过程的使用是必不可少的. 存储过程是一组为了完成特定功能的SQL 语句 集,经编译后存储在数据库中:存储过程创建后,一次编译在程序中可以多次调用,对安 ...

随机推荐

  1. SQLITE 多进程查询出错database is locked

    程序比较简单: 父进程查询数据库A表,没有更新操作 子进程同时查询数据库A表,查询出来的内容更新B表. 两个进程都放到while(1)循环中,速度慢的话就是2S执行一次就没有错,执行的速度快的话就会报 ...

  2. Unit Tests Tool - <What is “Mock You”> The introduction to moq #Reprinted#

    From: http://www.cnblogs.com/wJiang/archive/2010/02/21/1670632.html Moq即Mock You Framework,故名思意是一个类似 ...

  3. CSS3 模拟笑脸

    参考 http://www.html5tricks.com/demo/html5-css3-smile-face/index.html 它还做了舌头... 一开始我都是用JS实现的动画  当然了  眼 ...

  4. char[]转换成wchar_t的转换方法(GNU Libc规定wchar_t为32位)

    wchar_t是C/C++的字符数据类型,是一种扩展的字符存储方式,wchar_t类型主要用在国际化程序的实现中,但它不等同于unicode编码.unicode编码的字符一般以wchar_t类型存储. ...

  5. Django里面的RequestContext

    c = RequestContext(request, { 'foo': 'bar', }) get_template('about.html').render(c) 当我们定义一个RequestCo ...

  6. Microsoft 收购 Apiphany

    StevenMartinMS 2013 年 10 月 23 日上午 10:00 今天,我高兴地宣布我们收购了业界领先的 API 管理交付平台 - Apiphany. 应用程序可扩展性已经不算什么新鲜事 ...

  7. 利用相关的Aware接口

    Struts 2提供了Aware接口.Aware为"感知"的意思,实现了相关Aware接口的Action能够感知相应的资源.Struts在实例化一个Action实例时,如果发现它实 ...

  8. [转]WIBKIT技术资料

    WebKit结构和流程分析 http://inedx.blog.hexun.com/28830354_d.html webkit架构 http://inedx.blog.hexun.com/28795 ...

  9. JS动态增加页面上的控件实例

    <input   type="button"   value="继续添加"   onclick="append();"/ > & ...

  10. [译]Stairway to Integration Services Level 9 - Control Flow Task Errors

    介绍 在本文中,我们会实验 MaximumErrorCount和ForceExecutioResult 故障容差属性,并且还要学习Control Flow task errors, event han ...