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. QT小技巧—更好管理项目(增加预编译头文件,并且指定moc文件的生成位置)good

    预编译加速编译 QT也可以像VS那样使用预编译头文件来加速编译器的编译速度.首先在.pro文件中加入: CONFIG += precompiled_header 然后定义需要预编译的头文件: PREC ...

  2. CI URL 辅助函数 url helper

    URL 辅助函数文件包含一些在处理 URL 中很有用的函数 加载辅助函数 本辅助函数通过如下代码加载: $this->load->helper('url'); 可用函数如下: site_u ...

  3. SQVI和SAP查询QUERY的区别和使用注意事项

    SQVI.SAP查询QUERY都适用于简单的表连接数据查询,但都不能打包传输到PRD,不同环境需要重复创建.可以生成报表程序供T-CODE调用,用se93指定事务码和程序名称. 区别1-权限: SQV ...

  4. hdoj 1233 还是畅通工程(最小生成树)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1233 思路分析:该问题为最小生成树问题,使用kruskal算法或者prim算法即可解决: 代码如下: ...

  5. TCP/IP笔记 四.应用层(1)——DNS

    1. DNS DNS(Domain Name System ):域名系统,是因特网的一项核心服务,它作为可以将域名和IP地址相互映射的一个分布式数据库,能够使人更方便的访问互联网,而不用去记住能够被机 ...

  6. 谁有SMI-S Provider的一些源码,能参考一下吗

    我要用OpenPegasus根据SMI-S规范来写provider,不知道如何下手啊,求高手指点

  7. leetcode_question_70 Climbing Stairs

    You are climbing a stair case. It takes n steps to reach to the top. Each time you can either climb ...

  8. Objective-c @property和@Synthesize

    在Objective-c中,使用@property来标识属性(一般是实例变量).在实现文件中使用@synthesize标识所声明的变量,让系统自动生成设置方法和获取方法. 也就是说@property和 ...

  9. JavaScript 数字相关的转换和方法

    类型判断 isNaN - 是否是 NaN(Not a Number).主要用来判断 NaN 是否是 NaN,因为 NaN == NaN 是 false. isNaN(NaN);       // tr ...

  10. [译]SSRS 报表版本控制

    问题 如今商务智能应用广泛,对我们的商业愈加重要. 对新报表和的各种需求不断攀升. 自 SQL Server 2008 R2的 Reporting Services (SSRS) 开始,微软视图为减轻 ...