`
zhangcxy
  • 浏览: 41344 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

oracle存储过程语法详解

 
阅读更多

存储过程就是作为可执行对象存放在数据库中的一个或多个SQL命令。
    定义总是很抽象。存储过程其实就是能完成一定操作的一组SQL语句,只不过这组语句是放在数据库中的(这里我们只谈SQL Server)。如果我们通过创建存储过程以及在ASP中调用存储过程,就可以避免将SQL语句同ASP代码混杂在一起。这样做的好处至少有三个:
    第一、大大提高效率。存储过程本身的执行速度非常快,而且,调用存储过程可以大大减少同数据库的交互次数。
    第二、提高安全性。假如将SQL语句混合在ASP代码中,一旦代码失密,同时也就意味着库结构失密。
    第三、有利于SQL语句的重用。
    oracle 存储过程的基本语法
    1.基本结构
    CREATE OR REPLACE PROCEDURE 存储过程名字
    (
    参数1 IN NUMBER,
    参数2 IN NUMBER
    ) IS
    变量1 INTEGER :=0;
    变量2 DATE;
    BEGIN
    END 存储过程名字
    2.SELECT INTO STATEMENT
    将select查询的结果存入到变量中,可以同时将多个列存储多个变量中,必须有一条
    记录,否则抛出异常(如果没有记录抛出NO_DATA_FOUND)
    例子:
    BEGIN
    SELECT col1,col2 into 变量1,变量2 FROM typestruct where xxx;
    EXCEPTION
    WHEN NO_DATA_FOUND THEN
    xxxx;
    END;
    …
    3.IF 判断
    IF V_TEST=1 THEN
    BEGIN
    do something
    END;
    END IF;
    4.while 循环
    WHILE V_TEST=1 LOOP
    BEGIN
    XXXX
    END;
    END LOOP;
    5.变量赋值
    V_TEST := 123;
    6.用for in 使用cursor
    …
    IS
    CURSOR cur IS SELECT * FROM xxx;
    BEGIN
    FOR cur_result in cur LOOP
    BEGIN
    V_SUM :=cur_result.列名1+cur_result.列名2
    END;
    END LOOP;
    END;
    7.带参数的cursor
    CURSOR C_USER(C_ID NUMBER) IS SELECT NAME FROM USER WHERE TYPEID=C_ID;
    OPEN C_USER(变量值);
    LOOP
    FETCH C_USER INTO V_NAME;
    EXIT FETCH C_USER%NOTFOUND;
    do something
    END LOOP;
    CLOSE C_USER;
    8.用pl/sql developer debug
    连接数据库后建立一个Test WINDOW
    在窗口输入调用SP的代码,F9开始debug,CTRL+N单步调试

分享到:
评论

相关推荐

    oracle存储过程_函数_语法_大全_详解

    oracle存储过程_函数_语法_大全_详解

    oracle_存储过程的基本语法_及注意事项

    oracle_存储过程的基本语法_及注意事项,很好很不错的资源哦

    oracle存储过程学习经典[语法+实例+调用]

    不经典的我也不会发上来。我是推荐给大家。oracle存储过程学习经典语法+实例+调用。

    oracle存储过程总结-函数-语法-大全-详解.docx

    学习永无止境:oracle存储过程总结_函数_语法_大全_详解

    oracle存储过程-函数-语法-大全-详解.pdf

    Oracle 存储过程总结 1、创建存储过程 2、变量赋值 3、判断语句 4、For 循环 5、While 循环 6、数组 7.游标的使用

    oracle 存储过程、函数和触发器用法实例详解

    本文实例讲述了oracle 存储过程、函数和触发器用法。分享给大家供大家参考,具体如下: 一、存储过程和存储函数 指存储在数据库中供所有用户程序调用的子程序叫存储过程、存储函数。 创建存储过程 用CREATE ...

    Oracle触发器语法详解

    触发器是一种特殊的存储过程,它在插入,删除或修改特定表中的数据时触发执行,它比数据库本身标准的功能有更精细和更复杂的数据控制能力。数据库触发器有以下的作用:

    Oracle_PLSQL_编程语法详解

    第一章 PL/SQL程序设计简介 第二章 PL/SQL块结构和组成元素 第三章 PL/SQL流程控制语句 第四章 游标的使用 ...第六章 存储过程和函数 第七章 包的创建和应用 第八章 触发器 第九章 ORACLE提供的常用包

    oracle存储过程

    oracle存储过程详解,主要是理论知识,可以参考语法练习。

    Oracle中命名块之存储过程的详解及使用方法

    ◆匿名块:以declare或begin开始,每次执行匿名块都要通过客户端工具将其发送给Oracle,经过语法分析、编译然后执行。 ◆命名块:具有名称的PL/SQL块,这些命名块被存储在Oracle中,编译一次,以后只可调用就可多次...

    Oracle常用对象大全及实例详解.pdf

    本文介绍了Oracle 中的表、索引、视图、同义词、函数、存储过程、触发器及包等。测试通过的基础上,采用语法结合实例的方式,对这些常用对象使用方法、命令、步骤及注意事项进行了说明和讲解,读者按照本文学习,...

    Oracle中instr和substr存储过程详解

    instr和substr存储过程,分析内部大对象的内容 instr函数 instr函数用于从指定的位置开始,从大型对象中查找第N个与模式匹配的字符串。 用于查找内部大对象中的字符串的instr函数语法如下: dbms_lob.instr( lob_...

    XML结构与语法入门详解.pdf

     XML与Access,Oracle和SQL Server等数据库不同,数据库提供了更强有力的数据存储和分析能力,例如:数据索引、排序、查找、相关一致性等,XML仅仅是展示数据。事实上XML与其他数据表现形式最大的不同是:他极其简单...

    Oracle触发器trigger详解

    每当一个特定的数据操作语句(insert update delete)在指定的表上发出时,Oracle自动执行触发器中定义的语句序列。 举个简单的例子: 当员工表中新增一条记录后,自动打印“成功插入新员工” create or replace ...

    Oracle 10g 学习笔记

    │ ORACLE的索引和约束详解 - Oracle10g - 沪城篱笆.mht │ oracle里常用命令 - Oracle - 51CTO技术论坛_中国领先的IT技术社区.mht │ Sequence相关操作命令 - lvhuiqing的专栏 - CSDN博客.mht │ Sequence相关操作...

    精通SQL 结构化查询语言详解

    15.5.2 Oracle中存储过程和函数的管理 第16章 SQL触发器  16.1 触发器的基本概念  16.1.1 触发器简介  16.1.2 触发器执行环境 16.2 SQL Server中的触发器  16.2.1 SQL Server触发器的种类  16.2.2 ...

    精通SQL--结构化查询语言详解

    15.5.2 oracle中存储过程和函数的管理 324 第16章 sql触发器 325 16.1 触发器的基本概念 325 16.1.1 触发器简介 325 16.1.2 触发器执行环境 325 16.2 sql server中的触发器 326 16.2.1 sql server触发器的种类...

    asp.net知识库

    发布Oracle存储过程包c#代码生成工具(CodeRobot) New Folder XCodeFactory3.0完全攻略--序 XCodeFactory3.0完全攻略--基本思想 XCodeFactory3.0完全攻略--简单示例 XCodeFactory3.0完全攻略--IDBAccesser ...

    MySQL 触发器详解及简单实例

    语法 CREATE TRIGGER <触发器名称> –触发器必须有名字,最多64个字符,可能后面会附有分隔符.它和MySQL中其他对象的命名方式基本相象. { BEFORE | AFTER } –触发器有执行的时间设置:可以设置为事件发生前或...

Global site tag (gtag.js) - Google Analytics