zoukankan      html  css  js  c++  java
  • oracle存储过程

    1.什么是存储过程

      存储过程(Stored Procedure)是在大型数据库系统中,一组为了完成特定功能的SQL 语句集,存储在数据库中,经过第一次编译后再次调用不需要再次编译,用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它。

    2.存储过程的优点

      1.允许模块化程序设计,就是说只需要创建一次过程,以后在程序中就可以调用该过程任意次。

      2.允许更快执行,如果某操作需要执行大量SQL语句或重复执行,存储过程比SQL语句执行的要快。

      3.减少网络通信流量,一个需要使用数百条SQL去执行的语句,只需要发送一条执行语句,不需要去发送数百条sql语句。

      4.更好的安全机制,对于没有权限执行存储过程的用户,也可授权他们执行存储过程。

      5.可以更加安全,可以防止sql注入式攻击。

    3.存储过程(procedure)和函数(function)的区别

      1.function有返回值,并且可以直接在Query中引用function或者使用function的返回值.

      2.本质上没有区别,都是PL/SQL程序,都可以有返回值。最根本的区别是:存储过程是命令,而函数是表达式的一部分。

      3.package是function,procedure,variavles和sql语句的组合。package允许多个procedure使用同一个变量和游标。

      创建procedure的语法:

      一个简单的sql演示:

    4.oracle存储过程的基本语法

      1).基本结构

      2).输出语句

      3).赋值语句

      4)select into statement

      5). if语句

      6).while语句


      7).  用for in使用 cursor

      8).带参数的 cursor

      9).用pl/sql developer debug

        连接数据库后建立一个Test WINDOW

        在窗口输入调用sp的代码,F9开始debug,CTRL+N单步调试

      10).pl/sql 中执行存储过程

  • 相关阅读:
    音视频-x624和H.264
    状态机解决复杂逻辑及使用
    任意程序上的蒙版画笔实现
    WPF-3D圆柱体透视
    WPF-3D-Z-buffering 导致的遮盖物体不渲染问题
    WPF3D立方体图形展开动画思路
    解决Prism 8.0 I添加InvokeCommandAction xaml报错问题
    Spark编程基础(Python版)
    前端开发工具fscapture
    修改element ui select选择器 样式
  • 原文地址:https://www.cnblogs.com/wuyx/p/6432801.html
Copyright © 2011-2022 走看看