数据库存储过程使用场景

数据库小白,平时工作偏向数据分析,经常操作数据库,用的比较多的是视图,想了解下什么场景下才会用到存储过程呢?谢谢

0

1个回答

(1)在数据库里定义复杂查询,比如你是dba精通数据库强于编写程序;比如你希望在多个程序共享相同的查询逻辑。
(2)需要比较快的速度,因为存储过程预先编译,所以它更快。
(3)参数化,避免查询条件导致sql注入攻击
(4)触发器也可以视作特殊的存储过程,触发器可以自动在插入、修改等时机被调用,执行特定任务。

2
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
简单讲一下数据库的存储过程的使用场景?
使用场景:1.通常,复杂的业务逻辑需要多条  SQL  语句。这些语句要分别地从客户机发送到服务器,当客户机和服务器之间的操作很多时,将产生大量的网络传输。如果将这些操作放在一个存储过程中,那么客户机和服务器之间的网络传输就会大大减少,降低了网络负载。优点:1、存储过程只在创建时进行编译,以后每次执行存储过程都不需再重新编译,而一般  SQL语句每执行一次就编译一次,因此使用存储过程可以大大提高数...
存储过程五种使用场景比较
<br /><br />存储过程五种使用场景比较<br />1. 使用 JDBC API 直接调用存储过程<br />Java Database Connectivity (JDBC) API 是 J2EE 的一部分,是 Java 语言访问关系数据库的基于标准的首要机制,提供了对数据库访问和缓存管理的直接控制。<br />JDBC 中的 CallableStatement 对象为所有的关系数据库管理系统 (RDBMS: Relational Database Management System) 提供了一种
存储过程的优缺点及使用场景
我在文档《面向程序员的数据库访问性能优化法则》http://blog.csdn.net/yzsind/archive/2010/12/06/6059209.aspx 里写了存储过程性能的优点,主要是减少网络交互。 以下存储过程存在问题的详细描述: a、不可移植性,每种数据库的内部编程语法都不太相同,当你的系统需要兼容多种数据库时最好不要用存储过程。 当你的系统需要考虑适应各种数据库的,存储
分析存储过程的使用场景及其优缺点
分析存储过程的使用场景        当 一个事务涉及到多个SQL语句时或者涉及到对多个表的操作时就要考虑用存储过程;当在一个事务的完成需要很复杂的商业逻辑时(比如,对多个数据的操作,对 多个状态的判断更改等)要考虑;还有就是比较复杂的统计和汇总也要考虑,但是过多的使用存储过程会降低系统的移植性。   为了系统的控制方便,例如当系统进行调整时,这是只需要将后台存储过程进行更改,而不
MySQL存储过程与触发器(应用场景)
一、存储过程存储过程的基本格式如下:-- 声明结束符 -- 创建存储过程 DELIMITER $ -- 声明存储过程的结束符 CREATE PROCEDURE pro_test() --存储过程名称(参数列表) BEGIN -- 可以写多个sql语句; -- sql语句+流程控制 SELECT * FROM employee; END $ -- 结束 结束符 ...
简单讲一下数据库的触发器的使用场景?
触发器,需要触发条件,当条件满足后做什么操作。触发器用处:比如校内网、开心网、Facebook,你发一个日志,自动通知好友,其实就是在增加日志时做一个后触发,再向通知表中写入条目。其是一种特殊的存储过程。一般的存储过程是通过存储过程名直接调用,而触发器主要是通过事件(增、删、改)进行触发而被执行的。其在表中数据发生变化时自动强制执行。常见的触发器有两种:after(for)、instead of,...
h2database 普及系列一: 简介
这不是一个新东西,但是它却是一个被严重低估的东西. 为了让它不再被继续低估,我打算为推广和宣传它贡献出自己的一点点力量. ================================= 先来个简介. h2database 官方网站 http://www.h2database.com/ 这个是一个 java编写的轻量级数据库. 类似的轻量级数据库实际上有很多,...
游标的简单使用及使用场景
   use wechatservice  declare test cursor scroll dynamic --scroll表示可随意移动游标指针(否则只能向前),dynamic表示可以读写游标(否则游标只读)for  select msg from msg--给游标附上数据集合  open test--打开游标  declare @msg nvarchar(50)--定义变量存放数据  f...
mysql的函数和存储过程的比较,以及在实际场景中的使用案例
一.存储过程和函数的区别 函数调用有返回值 存储过程调用用call语句,函数调用直接饮用函数名+参数 IN,OUT,INOUT                    只适用于存储过程,对函数而言所有参数默认都是输入参数 IN用于把数值传入到存储过程中 OUT用于输出参数将数值传递给调用者 INOUT输入输出参数把数据传入到存储过程,在存储过程中修改后再...
存储过程的优缺点及适宜使用的场合详解
存储过程的优缺点及适宜使用的场合详解 http://database.51cto.com/art/201108/281777.htm 我们知道,存储过程在数据库操作中的使用是非常广泛的。它具有速度快、程序简单、可重复使用、安全性高等特点,那么什么时候使用存储过程是比较适合的呢?本文我们就来介绍这一部分内容,希望能够对读者有所帮助。 当一个事务涉及到多个SQL语句时或者
数据库中的事务、存储过程和触发器的简单使用
l什么是事务(Transaction) l指访问并可能更新数据库中各种数据项的一个程序执行单元(unit)--也就是由多个sql语句组成,必须作为一个整体执行 l这些sql语句作为一个整体一起向系统提交,要么都执行、要么都不执行 l语法步骤: •开始事务:BEGIN TRANSACTION •事务提交:COMMIT TRANSACTION •事务回滚:ROLLB
sQL存储过程的优缺点
目前具体的项目中没有使用sql存储过程,都用的封装好的框架,简单说下存储过程的优缺点。 优点: 1.存储过程只在创造时进行编译,以后每次执行存储过程都不需再重新编译,而一般 SQL 语句每执行一次就编译一次,所以使用存储过程可提高数据库执行速度。   2.当对数据库进行复杂操作时(如对多个表进行 Update,Insert,Query,Delete 时),可将此复杂操作用存储过程封装起来与数
数据库各派系起源、应用场景和选择指南
from:http://tech.it168.com/a2015/0303/1708/000001708320.shtml 一、纵览各种数据模型   这些模型的分类方法来自于Emil Eifrem 和 NoSQL databases。   1. 文档数据库   源起:受Lotus Notes启发。   数据模型:包含了key-value的文档集合  
spark sql在喜马拉雅的使用之xql
spark sql在喜马拉雅的使用之xql什么是xql在大数据领域,发展到今天hive依然是一个非常有意义的项目,因为它把工程师都懂的sql直接用到了大数据领域,但是它也存在一些问题,比如运行速度慢这个是最明显的,大数据领域中的先驱者们都为之做了各种优化,和hive集成的项目还是非常多的。 spark作为目前一站式的数据处理框架,在etl,数据分析与统计,流式处理,机器学习中都展现了很强的竞争力,
存储过程和触发器作用以及使用
第一:存储过程因为SQL语句已经预编绎过了,因此运行的速度比较快。 第二:存储过程可以接受参数、输出参数、返回单个或多个结果集以及返回值。可以向程序返回错误原因。 第三:存储过程运行比较稳定,不会有太多的错误。只要一次成功,以后都会按这个程序运行。 第四:存储过程主要是在服务器上运行,减少对客户机的压力。 第五:存储过程可以包含程序流、逻辑以及对数据库的查询。同时可
开发中使用临时表的应用场景以及注意事项
一、临时表的两种表现形式。   在SQL Server数据库中,临时表主要有两种形式,分别为全局临时表与局部临时表。这两种表有很大的不同,主要体现在名字上、可见性上以及可用性上。具体来说,本地临时表的名字是以#符号开头的;而全局临时表则是以##两个#字符号开头。从可见性上来说,局部临时表是有当前用户创建的,并且只有当前用户的会话才可以访问。而对于全局表来说,只要这个临时表存在,那
为什么要用存储过程?
存储过程概念 存储过程是一些sql语句和控制语句组成的被封装起来的过程,它驻留在数据库中,可以被客户应用程序通过存储过程名字调用,也可以从另一个存储过程或触发器调用。 它的参数可以被传递和返回,与应用程序中的函数过程类似,存储过程可以通过名字来调用,具有输入参数和输出参数。 存储过程分类 1) 返回记录集的存储过程              ----从数据库返回符合一个或几个条件的记录
到底要不要使用存储过程?
1. 前言 mysql 执行语句是要先编译,然后再执行的。这样如果查询并发大的时候。会浪费很多资源和时间。造成mysql进程占用资源过多,症状就是慢。但存储过程可以把一些特别的语句封装成一个方法 ,再编译好成一个可以执行的方法,对外只要接收参数就可以了。这样就不用再编译。执行就快了。什么时候会用到?你觉得你数据库因为同时出现太多读写操作而变得慢 ,那么就要用了,主要用来提升性能。 ...
存储过程和自定义函数的优缺点
存储过程和用户定义函数都是“SQL语句组成的子程序,用以封装代码以便重复使用”。但区别也是显而易见的。简单说,存储过程功能强大,但调用不便,用户函数正相反。 用户定义函数的优点: 可以在SQL语句中调用,直接使用返值,从而形成复杂的SQL应用。 存储过程则只能用execute命令调用,用输出参数的到返回的结果。 用户定义函数的缺点: 能在函数中使用的语句有严格限制: 不支持crea
存储过程的作用是什么?
1.存储过程只在创造时进行编译,以后每次执行存储过程都不需再重新编译,而一般SQL语句每执行一次就编译一次,所以使用存储过程可提高数据库执行速度。 2.当对数据库进行复杂操作时(如对多个表进行Update,Insert,Query,Delete时),可将此复杂操作用存储过程封装起来与数据库提供的事务处理结合一起使用。 3.存储过程可以重复使用,可减少数据库开发人员的工作量 4.安
数据库存储过程 好东西啊
数据库存储过程 数据库存储过程 数据库存储过程
oracle的存储过程和存储函数深入分析和案例
存储过程 1:概述: 存储过程是被命名的 PL/SQL 块,存储于数据库中,是数据库对象的一种。 应用程序可以调用存储过程,执行相应的逻辑。 2:存储过程与存储函数区别 存储过程与存储函数都可以封装一定的业务逻辑并返回结果,存在区别如 下: 1、 存储函数中有返回值,且必须返回;而存储过程没有返回值,可以通过 传出参数返回多个值。 2、 存储函数可
mysql中为什么不要使用存储过程
在使用oracle的时候,oracle是推荐尽可能将所有的操作都放在plsql中的,但是在使用mysql的时候是不让使用存储过程的,为什么? 因为在mysql中,存储过程不是一次编译的,而是对每个会话在执行的时候编译一次,在会话结束的时候抛弃,而且在执行alter procedure的时候是会将所有会话对这个存储过程持有的存储过程的版本抛弃掉。同时没有包的概念,没有类库,没有面向对象的概念,所以...
TSQL 存储过程 游标 数据库 sql优化 存储过程分页
TSQL 存储过程 游标 数据库 sql优化 存储过程分页 TSQL 存储过程 游标 数据库 sql优化 存储过程分页 TSQL 存储过程 游标 数据库 sql优化 存储过程分页 TSQL 存储过程 游标 数据库 sql优化 存储过程分页 TSQL 存储过程 游标 数据库 sql优化 存储过程分页 TSQL 存储过程 游标 数据库 sql优化 存储过程分页 TSQL 存储过程 游标 数据库 sql优化 存储过程分页 TSQL 存储过程 游标 数据库 sql优化 存储过程分页
数据库存储过程及其调用
内容: - 存储过程格式 - 定时调用存储过程
数据库学习之存储过程及函数。
一、变量    1、定义:    DECLARE var_name type[DEFAULT value]    例如,定义一个DATE类型的变量last_month_start:    DECLARE last_month_start DATE    2、变量的赋值:    变量可以直接赋值或者通过查询赋值。    (1)、直接赋值使用SET,可以赋常量或者赋表达式:        SET va...
数据库-存储过程(概念、优缺点、分类)
(1)概念:     ① 存储过程(Stored Procedure)是一组为了完成特定功能的SQL语句集。经编译后存储在数据库 中。     ② 存储过程是数据库中的一个重要对象,用户通过指定存储过程的名字并给出参数(如果该存储过 程带有参数)来执行它。     ③ 存储过程是由流控制和SQL语句书写的过程,这个过程经编译和优化后存储在数据库服务器中。     ④ 存储过程可由应用程序通
惠州学院-数据库实验6-触发器和存储过程
计算机科学系实验报告(首页) 课程名称 数据库系统概论 班级 14计科2班 实验名称 触发器和存储过程 教导教师 索剑 姓名 张钦颖 学号 1414080901218 组号   日期 2016年5月10日
数据库函数和存储过程有什么区别?
1,返回值的区别:函数有一个返回值,而存储过程是通过参数返回的,可以有多个或者没有。2,调用区别:函数可以在查询语句中直接调用,而存储过程必须单独调用。3,函数一般情况下是用来计算并返回一个计算结果,而存储过程一般是用来完成特定的数据操作(比如修改插入数据库或执行某些DDL语句等等)。4,oracle中存储过程和函数都可以返回值,但是函数必须要返回值并且一般返回一个值,而存储过程则没有这个限制。...
如何调用数据库的存储过程
CallableDemo.java文件:import java.sql.CallableStatement; import java.sql.Connection; import java.sql.Types;import org.junit.Test; /* delimiter $$CREATE PROCEDURE demoSp(IN inputParam VARCHAR(255), INOUT
数据库中对存储过程的理解
1.存储过程的概念存储过程(Stored Procedure)是一组为了完成特定功能的SQL语句集。经编译后存储在数据库中。存储过程是数据库中的一个重要对象,用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它。存储过程是由 流控制 和 SQL语句书写的过程,这个过程经编译和优化后存储在数据库服务器中。存储过程 可由应用程序通过一个调用来执行,而且允许用户声明变量。同时,存储过程...
数据库中存储过程意义
创建了是拿来用的,至于为什么要用存储过程,要先了解存储过程存在的意义: 存储过程由SQL语句和流程控制语句组成。它的功能包括:接受参数;调用另一过程;返回一个状态值给调用过程或批处理,指示调用成功或失败;返回若干个参数值给调用过程或批处理,为调用者提供动态结果;在远程SQL Server中运行等。 1)·存储过程是预编译过的,所以存储过程执行速度很快. 2)·存储过程和
备份数据库存储过程
--备份数据库 CREATE PROC [dbo].[P_DBBACKUP2Path] ( @dbPath NVARCHAR(200) , --备份文件存放路径,最后带/ @DbName VARCHAR(50) --要备份的数据库名称 ) AS SELECT @dbPath = @dbPath + @DbName + '_' + CONVE
MySQL数据库-存储过程详解
存储过程简单来说,就是为以后的使用而保存的一条或多条MySQL语句的集合。可将其视为批件,虽然它们的作用不仅限于批处理。在我看来, 存储过程就是有业务逻辑和流程的集合, 可以在存储过程中创建表,更新数据, 删除等等。 MySQL基础教程之存储过程 存储过程简单来说,就是为以后的使用而保存的一条或多条MySQL语句的集合。可将其视为批件,虽然它们的作用不仅限于批处理。在我看来, 存储
JAVA面试基础-数据库的存储过程小结
1.存储过程是什么?    简单来说就是为以后的使用而保存的一条或者多条MySQL语句的集合,可将其视为批处理文件。虽然他们的作用不仅限于批处理。 2.为什么使用存储过程?   (1).通过把处理封装在容易使用的单元中 ,简化复杂的操作。简单   (2).由于不要求反复建立一系列的处理步骤,这保证了数据的完整性。防止步骤多而出现的错误。安全   (3).简化对变动的管理,如果表名,列名或...
数据库存储过程总结
 在大型数据库系统中,存储过程和触发器具有很重要的作用。无论是存储过程还是触发器,都是SQL 语句和流程控制语句的集合。就本质而言,触发器也是一种存储过程。存储过程在运算时生成执行方式,所以,以后对其再运行时其执行速度很快。SQL Server 2000 不仅提供了用户自定义存储过程的功能,而且也提供了许多可作为工具使用的系统存储过程。 存储过程的概念存储过程(Stored Procedure)是
数据库的存储过程设计(1)
需求:统计一个sql server表单中的故障数据,根据故障类型和故障等级及故障次数,统计出一段时间内的故障积分,要总分,及前三的故障分和故障类型。Step1:因为对db不太熟悉,并且觉得视图比较直观,可以看到中间结果,所以,第一步做的先是统计出相关故障和次数。这涉及到故障信息表,设备的信息表,故障的配置表,以及设备所在项目的配置表。因为故障配置和项目配置都有静默时间,在这段静默时间里的故障是不作...
数据库存储过程,触发器,游标,函数
MySQL5 中添加了存储过程的支持。  大多数SQL语句都是针对一个或多个表的单条语句。并非所有的操作都这么简单。经常会有一个完整的操作需要多条才能完成。  存储过程简单来说,就是为以后的使用而保存的一条或多条MySQL语句的集合。可将其视为批文件。虽然他们的作用不仅限于批处理。  为什么要使用存储过程:优点 1 通过把处理封装在容易使用的单元中,简化复杂的操作。 2 由于不要求反复建
数据库篇(二)——什么是存储过程?有哪些优缺点?
存储过程 就是一些编译好了的SQL语句,这些SQL语句代码像一个方法一样实现一些功能(对单表或多表的增删改查),然后给这些代码块取一个名字,在用到这个功能的时候调用即可。 存储过程详解参考: http://www.cnblogs.com/knowledgesea/archive/2013/01/02/2841588.html 优点: 存储过程是一个预编译的代码块,执行效率比较高 存储过...
关于跨数据库的存储过程
/********************链接数据库 *******************************/ exec OPENDATASOURCE(          'SQLOLEDB',          'Data Source=远程ip;User ID=sa;Password=密码'          ).库名.dbo.存储过程名 select * into 本地
文章热词 数据库 数据库入门教程 数据库培训 数据库视频教程 数据库学习
相关热词 android中线程池使用场景 c#存储过程 c++ union关键字使用场景 python教程数据库 python数据库教程

相似问题

3
怎样可以从外网访问本地数据库?
2
c#winform中datagridview删除数据库中的整行数据
2
jeecg非maven版,提示数据库版本低
5
用户密码为字符串,连接数据库进行登陆时与数据库密码的不符
5
传入数据类型是List 数据库的字段类型应该是什么 SQL server
1
跪求python使用corel5k数据库的程序
2
数据库字段命名规则和代码变量名命名规则冲突怎么办?
1
map中泛型定义的Integer类型,但是数据库查询数据后竟然赋值为Long类型?具体见详情附图
2
SpringBoot项目启动时,怎么去调用数据库的数据放到缓存里面?
2
winform窗体中DataGrid的显示,怎么让性别显示成文本?数据库用bit保存的
1
vVS2008 winform SQL数据库,无法绑定到没有名称的datatable,可是明明没错啊
1
请教在一台oracle服务器中,创建多个数据库和创建多个实例的含义和区别
1
SSM 怎么添加一个数据库允许为null对象, 还有一个数据库有默认 不需要传入的对象
4
怎样用Java描述数据库中出现的:当出现某种情况的时候就把这一条没用的数据删掉
1
云开发的小程序上线后怎么管理数据库?
1
idea 创建多个线程并通过mybatis 去批量插入数据库,一直报回滚错误,错误如下
2
写一个java视窗小工具实现从数据库导出excel报表,请问什么方案比较好?
2
php 数据库获取数据的问题
1
DB2数据库如何查询一张表最近一次查询的用户及时间?
3
用eclipse开发java的web项目,怎么使每次访问网页都会调用数据库传输数据到该网页。