Oracle 存储过程定义和优点及与函数区别
定义:
存储过程(Stored Procedure )是一组为了完成特定功能的SQL 语句集,经编译后存储在数据库中。用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它。存储过程是数据库中的一个重要对象,任何一个设计良好的数据库应用程序都应该用到存储过程。 存储过程是由流控制和SQL 语句书写的过程,这个过程经编译和优化后存储在数据库服务器中,应用程序使用时只要调用即可。在ORACLE 中,若干个有联系的过程可以组合在一起构成程序包。
优 点:
1.(预编译)存储过程只在创造时进行编译,以后每次执行存储过程都不需再重新编译,而一般SQL语句每执行一次就编译一次,所以使用存储过程可提高数据库执行速度。
2.(事务性)当对数据库进行复杂操作时(如对多个表进行Update、Insert、Query、Delete时),可将此复杂操作用存储过程封装起来与数据库提供的事务处理结合一起使用。
3.(重复性)存储过程可以重复使用,可减少数据库开发人员的工作量。
4.(安全性)安全性高,可设定只有某用户才具有对指定存储过程的使用权。
存储过程与函数的对比
转载于:https://www.cnblogs.com/xiao-hei/p/3895857.html
Oracle 存储过程定义和优点及与函数区别相关推荐
- oracle 存储过程循环体中的return和exit区别:
oracle 存储过程循环体中的return和exit区别: (1) return 跳出整个循环,终止该循环, 后面的不再执行. 相当于 Java 中的break; (2) exit 跳出本 ...
- oracle 存储过程定义及调试,并终于被C# 调用 代码
C# 调用存储过程 參考了非常多文章,写了例如以下文字,算是分享吧 目的:更改积分,并作一定校验 一.一般的调试方法: 方法一:带返回out參数,必须定义变量 myresult DECLARE myr ...
- 布尔类型(boolean)在oracle存储过程中支持情况
文章目录 1.布尔类型在oracle存储过程中支持情况 (1)布尔类型在过程.函数.包中的支持情况 (2)布尔类型与其他类型的兼容情况 (3)布尔类型作为cast函数参数情况 (4)存储过程case- ...
- JDBC使用总结:增删改查、调用存储过程、执行存储函数、存储过程与存储函数区别分析
JDBC(Java Database Connectivity):Java访问数据库的解决方案. JDBC只定义接口,具体实现由各个数据库厂商负责. 原生jdbc技术的使用基本都是模板式的开发,基本格 ...
- Oracle存储过程procedure与函数function区别
定义: 存储过程(Stored Procedure )是一组为了完成特定功能的SQL 语句集,经编译后存储在数据库中.用户通过指定存储过程的名字并给出参数(如果该存储过程 带有参数)来执行它. 存储过 ...
- Oracle存储过程和自定义函数
概述 Oracle-procedure解读 Oracle存储过程和自定义函数 PL/SQL中的过程和函数(通常称为子程序)是PL/SQL块的一种特殊的类型,这种类型的子程序可以以编译的形式存放在数据库 ...
- oracle触发器函数,oracle 存储过程、函数和触发器用法实例详解
本文实例讲述了oracle 存储过程.函数和触发器用法.分享给大家供大家参考,具体如下: 一.存储过程和存储函数 指存储在数据库中供所有用户程序调用的子程序叫存储过程.存储函数. 创建存储过程 用CR ...
- oracle存储过程语法和用法,oracle存储过程 语法 函数 总结
对于oracle 存储过程是很优秀的一种脚本语言.下面是一些整理: 一,Plsql 调试存储过程: 1. 在oracle的 配置和移植工具 àNET MANAGER中配置连接 2. 在plsql中新建 ...
- Oracle存储过程和存储函数创建
select * from emp; -----------------存储过程------------------------ --定义create[or replace] procedure 存储 ...
最新文章
- css 联系我们,CSS3 模态窗口联系我们表单模板
- Vue后台管理系统实现登录功能
- eigrp配置实验_路由器 OSPF 动态路由配置
- 微软.NET Framework 4.5.2 RTM正式版
- python3.6.5安装tensorflow_Win10下用Anaconda安装TensorFlow(图文教程)
- Android开发入门一之Android应用程序架构详解
- fatal: ‘origin‘ does not appear to be a git repository fatal: Could not read from remote repository.
- 为提升 DCP 传输效率,阿里工程师竟然这样做!
- js基础知识学习(二)
- 腾讯视频qlv格式转换mp4普通视频方法
- c语言编写好的程序运行自动退出,VS 2015 写的第一个c语言控制台程序,运行完程序就自动...
- jeecms系统使用介绍——jeecms中的内容、栏目、模型之间的关系
- 重启docker时:Error starting userland proxy: listen tcp 0.0.0.0:9000: listen: address already in use
- linux wifi自动消失,linux没有wifi
- 清明 祭拜于形,感恩于心
- 平面设计中关于构图技巧的那些事儿
- DYA9面向对象中--super关键字
- 学校远程预付费抄表系统智能化水电管理利器
- Oracle--初学小白基础篇(第一版)
- 简易三国杀:儿童识字卡牌
热门文章
- 学Python,这些内置数据类型总结(数字类型)你可否知道
- pic16f630 c语言编程,PIC16f630简单练习程序
- 教你用 buildroot 构建根文件系统
- oracle rodo 查看大小,Checkpoint not complete故障
- python爬取图片的库_16-python爬虫之Requests库爬取海量图片
- 2018 ICPC 徐州网络赛 D. Easy Math(思维,反演,杜教筛)
- P5667 拉格朗日插值2(拉格朗日插值,NTT, 倒推求逆元)
- mysql innodb myisam 插入数据_mysql innodb换成myisam后插入数据变快?
- 康托展开(Cantor expansion)
- linux mint root激活,Linux mint root登录无声音的问题解决方法