数据库存储过程使用场景

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

0

1个回答

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

2
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
简单讲一下数据库的存储过程的使用场景?
使用场景:1.通常,复杂的业务逻辑需要多条  SQL  语句。这些语句要分别地从客户机发送到服务器,当客户机和服务器之间的操作很多时,将产生大量的网络传输。如果将这些操作放在一个存储过程中,那么客户机和服务器之间的网络传输就会大大减少,降低了网络负载。优点:1、存储过程只在创建时进行编译,以后每次执行存储过程都不需再重新编译,而一般  SQL语句每执行一次就编译一次,因此使用存储过程可以大大提高数...
简单讲一下数据库的存储过程的使用场景?
数据库存储过程具有如下优点: 1、存储过程只在创建时进行编译,以后每次执行存储过程都不需再重新编译,而一般 SQL 语句每执行一次就编译一次,因此使用存储过程可以大大提高数据库执行速度。 2、通常,复杂的业务逻辑需要多条 SQL 语句。这些语句要分别地从客户机发送到服务器,当客户机和服务器之间的操作很多时,将产生大量的网络传输。如果将这些操作放在一个存储过程中,那么客户机和服务器之间的网络传输就会...
MySQL存储过程与触发器(应用场景)
一、存储过程 存储过程的基本格式如下: -- 声明结束符 -- 创建存储过程 DELIMITER $ -- 声明存储过程的结束符 CREATE PROCEDURE pro_test() --存储过程名称(参数列表) BEGIN -- 可以写多个sql语句; -- sql语句+流程控制 SELECT * FROM employee; END $ -- ...
mysql的函数和存储过程的比较,以及在实际场景中的使用案例
一.存储过程和函数的区别 函数调用有返回值 存储过程调用用call语句,函数调用直接饮用函数名+参数 IN,OUT,INOUT                    只适用于存储过程,对函数而言所有参数默认都是输入参数 IN用于把数值传入到存储过程中 OUT用于输出参数将数值传递给调用者 INOUT输入输出参数把数据传入到存储过程,在存储过程中修改后再...
游标的简单使用及使用场景
   use wechatservice  declare test cursor scroll dynamic --scroll表示可随意移动游标指针(否则只能向前),dynamic表示可以读写游标(否则游标只读)for  select msg from msg--给游标附上数据集合  open test--打开游标  declare @msg nvarchar(50)--定义变量存放数据  f...
oracle的存储过程和存储函数深入分析和案例
存储过程 1:概述: 存储过程是被命名的 PL/SQL 块,存储于数据库中,是数据库对象的一种。 应用程序可以调用存储过程,执行相应的逻辑。 2:存储过程与存储函数区别 存储过程与存储函数都可以封装一定的业务逻辑并返回结果,存在区别如 下: 1、 存储函数中有返回值,且必须返回;而存储过程没有返回值,可以通过 传出参数返回多个值。 2、 存储函数可
oracle存储过程中is和as 的使用
在存储过程(PROCEDURE)和函数(FUNCTION)中两者都可以使用,但是有区别:使用IS 将无法使用调试模式调试该存储过程(函数) 在视图(VIEW)中只能用AS不能用IS; 在游标(CURSOR)中只能用IS不能用AS。...
RabbitMQ的几种典型使用场景
RabbitMQ的几种典型使用场景(转发来自于 引鸩怼孑)
sql语句之not exists的三种使用场景
--查询没有选修102号课程的学生的学生和姓名 select SNO,SNAME from S where not exists( select * from SC where( S.SNO=SNO and CNO='102' ) ) --查询选修了所有课程的学生的学号和姓名 select SNO,SNAME from S where not exists( selec...
到底该不该使用存储过程
看到《阿里巴巴java编码规范》有这样一条关于这条规范,我说说我个人的看法我觉得用不用存储过程要视所使用的数据库和业务场景而定的,不能因为阿里巴巴的技术牛逼,就视他们的手册里的每一项规范为圣经, 盲目的去遵循。对于手册中的这项规范,我觉得使用MySQL的程序员认同占多数, 而使用SQL Server的程序员反对占多数。 原因在于MySQL对SQL编程和复杂查询性能优化的支持实在太烂。 记得MySQ
数据库存储过程 好东西啊
数据库存储过程 数据库存储过程 数据库存储过程
spark sql在喜马拉雅的使用之xql
spark sql在喜马拉雅的使用之xql什么是xql在大数据领域,发展到今天hive依然是一个非常有意义的项目,因为它把工程师都懂的sql直接用到了大数据领域,但是它也存在一些问题,比如运行速度慢这个是最明显的,大数据领域中的先驱者们都为之做了各种优化,和hive集成的项目还是非常多的。 spark作为目前一站式的数据处理框架,在etl,数据分析与统计,流式处理,机器学习中都展现了很强的竞争力,
SQL的存储过程的理解与应用(以mysql为例)
这几天在听老师讲关于SQL的存储过程,但是感觉还是不是特别清楚它的存在意义,于是下去仔细又看了一下,在这里和大家分享一下,欢迎大家批评指正。 什么是存储过程? 存储过程,简单的来理解就是一段sql语句的集合,可以完成一些固定的功能,类似于C语言里面的函数或者java里面的方法,你可以传入参数,然后也可以让其将运行的结果带回来,但是其又与函数或者方法不同,不同之处在于一般的函数或者方法直接就可以
MySQL基础教程之存储过程
原文来自:http://database.51cto.com/art/201608/516661.htm 存储过程简单来说,就是为以后的使用而保存的一条或多条MySQL语句的集合。可将其视为批件,虽然它们的作用不仅限于批处理。在我看来, 存储过程就是有业务逻辑和流程的集合, 可以在存储过程中创建表,更新数据, 删除等等。 作者:godruoyi来源:segmentfault|2
数据库存储过程及存储函数
存储过程 在java中经常用封装的思想来提高代码的重用性,在java中为什么要定义方法?原因是有一个功能是需要在不同的地方多次使用的,如果在每一个需要调用的地方都写一遍会造成代码量很大,所以我们把他抽取成单独的方法,在需要使用的时候调用这个方法。同样的道理,如果同一个数据库操作需要被多次使用,这个时候可以考虑将他抽取出来,这样被抽取出来的这个类似与方法的东西就是存储过程。所以,简单的说,存储过程...
查看数据库 存储过程
select name from mysql.proc where db='数据库名';
数据库篇(二)——什么是存储过程?有哪些优缺点?
存储过程 就是一些编译好了的SQL语句,这些SQL语句代码像一个方法一样实现一些功能(对单表或多表的增删改查),然后给这些代码块取一个名字,在用到这个功能的时候调用即可。 存储过程详解参考: http://www.cnblogs.com/knowledgesea/archive/2013/01/02/2841588.html 优点: 存储过程是一个预编译的代码块,执行效率比较高 存储过...
数据库之存储过程与触发器
存储器 1.概述 存储过程(Stored Procedure)是一组为了完成特定功能的SQL语句集,经编译后存储在数据库中。存储过程可以包含程序流、逻辑以及对数据库的查询。它们可以接受参数、输出参数、返回单个或者多个结果集以及返回值。 2.存储过程分类 ①系统存储过程 以sp_开头,用来进行系统的各项设定.取得信息.相关管理工作。 sp_who/sp_helpdb/sp_monitor...
数据库存储过程及其调用
内容: - 存储过程格式 - 定时调用存储过程
数据库学习之存储过程及函数。
一、变量    1、定义:    DECLARE var_name type[DEFAULT value]    例如,定义一个DATE类型的变量last_month_start:    DECLARE last_month_start DATE    2、变量的赋值:    变量可以直接赋值或者通过查询赋值。    (1)、直接赋值使用SET,可以赋常量或者赋表达式:        SET va...
JAVA面试基础-数据库的存储过程小结
1.存储过程是什么?    简单来说就是为以后的使用而保存的一条或者多条MySQL语句的集合,可将其视为批处理文件。虽然他们的作用不仅限于批处理。 2.为什么使用存储过程?   (1).通过把处理封装在容易使用的单元中 ,简化复杂的操作。简单   (2).由于不要求反复建立一系列的处理步骤,这保证了数据的完整性。防止步骤多而出现的错误。安全   (3).简化对变动的管理,如果表名,列名或...
TSQL 存储过程 游标 数据库 sql优化 存储过程分页
TSQL 存储过程 游标 数据库 sql优化 存储过程分页 TSQL 存储过程 游标 数据库 sql优化 存储过程分页 TSQL 存储过程 游标 数据库 sql优化 存储过程分页 TSQL 存储过程 游标 数据库 sql优化 存储过程分页 TSQL 存储过程 游标 数据库 sql优化 存储过程分页 TSQL 存储过程 游标 数据库 sql优化 存储过程分页 TSQL 存储过程 游标 数据库 sql优化 存储过程分页 TSQL 存储过程 游标 数据库 sql优化 存储过程分页
SQL数据库编写存储过程
推荐阅读:https://www.cnblogs.com/Brambling/p/6725859.html 程序获取数据库数据(后端)代码编写的两种方法,一是利用编程语言直接将SQL 语句以字符串的形式向数据库发送命令;二是将各种对数据库的操作命令存储在数据库中,利用编程语言来调用这些存储过程。 第二种方式优势明显。 存储过程的优势: 提高了程序的通用性和可移植性;可以重复调用,随时对存储...
数据库存储过程
数据库的存储过程 因为面试时总是被问到数据库的存储过程或储能特性,所以在网上找了一下资料,进行一个小总结。 原作者博客:https://www.cnblogs.com/songxxu/p/3345398.html 为什么使用存储过程? 1、增加性能。本地存储发送的内容少,调用快,预编译,高速缓存; 2、增强安全。加密、分离(权限设置,用户只需要有执行存储过程的权限,不需要有访问存储过程使用的对象的...
Oracle数据库(十)——存储过程上
存储过程 创建存储过程 CREATE PROCEDURE TEST AS BEGIN DBMS_OUTPUT.PUT_LINE('我的第一个过程!'); END; --执行 --SERVEROUTPUT设置,想让DBMS_OUTPUT.PUT_LINE成功输出,需要把SERVEROUTPUT选项设置为ON的状态 SHOW SERVEROUTPUT SET SERVEROUTPUT ON...
数据库中存储过程意义
创建了是拿来用的,至于为什么要用存储过程,要先了解存储过程存在的意义: 存储过程由SQL语句和流程控制语句组成。它的功能包括:接受参数;调用另一过程;返回一个状态值给调用过程或批处理,指示调用成功或失败;返回若干个参数值给调用过程或批处理,为调用者提供动态结果;在远程SQL Server中运行等。 1)·存储过程是预编译过的,所以存储过程执行速度很快. 2)·存储过程和
如何调用数据库的存储过程
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
数据库存储过程的创建
在平时操作数据库的时候,我们使用存储过程频率是相当高的,对于很多新手来说,存储过程还是相对老说比较抽象的一个概念,今天我们就来了简单的解一下什么事存储过程,     首先,存储过程和函数在实现上是相差不大的,所谓的存储过,其实是相对一单条sql来讲的一组的sql语句的集合,一个存储过程中可以包含多条sql语句。在这里举一个简单的例子,比如说,我们在网上商城买东西的时候,首先我们需要进行一个判断,
数据库的存储过程设计(1)
需求:统计一个sql server表单中的故障数据,根据故障类型和故障等级及故障次数,统计出一段时间内的故障积分,要总分,及前三的故障分和故障类型。Step1:因为对db不太熟悉,并且觉得视图比较直观,可以看到中间结果,所以,第一步做的先是统计出相关故障和次数。这涉及到故障信息表,设备的信息表,故障的配置表,以及设备所在项目的配置表。因为故障配置和项目配置都有静默时间,在这段静默时间里的故障是不作...
使用存储过程备份与还原数据库
使用存储过程备份与还原数据库备份:ALTER PROCEDURE [dbo].[database_backup]( @dir VARCHAR(100) --文件目录 ) AS BEGIN declare @cmd nvarchar(4000) declare @path nvarchar(4000) declare @now datetime set
数据库存储过程与存储函数
1. 存储过程、存储函数概念     存储过程是一组为了完成特定功能的SQL语句集,经过编译后存储在数据库中,用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它,叫做存储过程、存储函数。 2. 存储过程与存储函数的区别     存储函数:可以通过return语句返回函数值;主要用于计算并返回一个值;     存储过程:不能;存储过程没有直接返回值,主要用于执行操作; ...
数据库-存储过程
–存储过程:实际上是封装在服务器的一段plsql代码片段,已经编译好了的代码 客户端去调用存储过程,执行效率会很高 语法: create [or replace] procedure 存储过程名称 (参数名 in|out 参数类型,…) is | as –声明部分 begin –处理逻辑 end; –例:给指定员工涨薪,并打印涨薪前后工资 –处理逻辑 参数: in 员工编号 参数: in 需要涨多...
显示数据库的所有存储过程(mysql)
显示数据库的所有存储过程 我们可以用 select name from mysql.proc where db=’数据库名’; 或者 select routine_name from information_schema.routines where routine_schema='数据库名'; 或者 show procedure status where db='数据库名...
清空数据库所有表的存储过程(没看懂)
CREATE PROCEDURE sp_DeleteAllData AS EXEC sp_MSForEachTable 'ALTER TABLE ? NOCHECK CONSTRAINT ALL' EXEC sp_MSForEachTable 'ALTER TABLE ? DISABLE TRIGGER ALL' EXEC sp_MSForEachTable 'DELETE FROM ?' EXE
MySQL数据库存储过程讲解与实例
存储过程简介    SQL语句需要先编译然后执行,而存储过程(Stored Procedure)是一组为了完成特定功能的SQL语句集,经编译后存储在数据库中,用户通过指定存储过程的名字并给定参数(如果该存储过程带有参数)来调用执行它。    存储过程是可编程的函数,在数据库中创建并保存,可以由SQL语句和控制结构组成。当想要在不同的应用程序或平台上执行相同的函数,或者封装特定功能时,存储过程是非常...
数据库中存储过程,以及项目中的例子
1.获取数据库中汉字的首字母:(mysql 存储过程)DROP FUNCTION IF EXISTS `getPY`;DELIMITER ;;CREATE FUNCTION `getPY`(in_string VARCHAR(65534)) RETURNS MEDIUMTEXT CHARSET utf8BEGINDECLARE tmp_str VARCHAR(65534) CHARSET gbk ...
请教:使用存储过程查询数据库
存储过程如下:DROP PROCEDURE sele_ratio; GO CREATE PROC sele_ratio AS DECLARE @device_id VARCHAR(50) DECLARE @today_checkTime DATETIME DECLARE @yes_checkTime DATETIME DECLARE @sql1 nvarchar(MAX) DECLARE @sql2
MySQL数据库存储过程
本文以MySQL数据库为例对数据库存储过程进行介绍,包括创建、查看、执行和删除存储过程,并对比了WHILE和repeat循环的差别。 存储过程(Stored Procedure)是在大型数据库系统中,一组为了完成特定功能的SQL 语句集,存储在数据库中,经过第一次编译后再次调用不需要再次编译,用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它。存储过程是数据库中的一个重要对象。——百度百科
数据库存储过程(调用不同数据库或不同用户下的存储过程)
今天在开发过程中遇到两个问题: 1.如何调用别人数据库的存储过程? 2.如何调用自己数据库不同用户下的存储过程? 经过网上搜索资料和自己的不断测试,终于成功了,现记录下来,以便资源共享。 首先,如果是调用别人的数据库的存储过程,首先你得先跟别人的数据库建立一个DBLINK(如何创建,在此不进行描述),其次,别人数据库的存储过程要给你的用户赋予一定的权限。比如,我测试时候的数据, up
数据库的存储过程设计(2)
前文已经通过视图把基本需求实现了,现在要把他们合成一个存储过程。原以为会比较简单的实现,把这几个设计视图的代码合在一起就可以了。实际上,我们的需求还要添加一些条件限制筛选,这也是为什么不直接用视图的原因。条件1:通过用户筛选。条件2:通过时间筛选。通过类型筛选等等。这些条件需要通过参数传递进来。下面是最早的版本,依然使用的是临时表。ALTER PROCEDURE [dbo].[cal_etor_s...