数据库存储过程,数据库存储过程

在存储过程中为什么要申明变量??????????不声明可以吗?????????????????????????在什么样的情况下声明和不申明??????

0

3个回答

你需要保存中间结果就需要变量,不需要中间结果保留就不需要。比如说,交换两个数,那么需要一个中间变量。两个数相加就不需要。

1

1.存储过程是什么?

    

    百度百科:存储过程(Stored Procedure)是在大型数据库系统中,一组为了完成特定功能的SQL 语句集,存储在数据库中,经过第一次编译后再次调用不需要再次编译,用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它。存储过程是数据库中的一个重要对象,任何一个设计良好的......
答案就在这里:【数据库】 存储过程
----------------------Hi,地球人,我是问答机器人小S,上面的内容就是我狂拽酷炫叼炸天的答案,除了赞同,你还有别的选择吗?

0

如果存储过程中需要使用变量,需要提前声明的。

DECLARE var_name[,...] type [DEFAULT value]
这个语句被用来声明局部变量。要给变量提供一个默认值,请包含一个DEFAULT子句。
值可以被指定为一个表达式,不需要为一个常数。如果没有DEFAULT子句,初始值为NULL

变量赋值:
SET var_name = expr [, var_name = expr] ...

SELECT col_name[,...] INTO var_name[,...] table_expr
这个SELECT语法把选定的列直接存储到变量。因此,只有单一的行可以被取回。

参考自MySQL存储过程详解 http://www.data.5helpyou.com/article314.html

0
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
MySQL基础教程之存储过程
原文来自:http://database.51cto.com/art/201608/516661.htm 存储过程简单来说,就是为以后的使用而保存的一条或多条MySQL语句的集合。可将其视为批件,虽然它们的作用不仅限于批处理。在我看来, 存储过程就是有业务逻辑和流程的集合, 可以在存储过程中创建表,更新数据, 删除等等。 作者:godruoyi来源:segmentfault|2
数据库存储过程及存储函数
存储过程 在java中经常用封装的思想来提高代码的重用性,在java中为什么要定义方法?原因是有一个功能是需要在不同的地方多次使用的,如果在每一个需要调用的地方都写一遍会造成代码量很大,所以我们把他抽取成单独的方法,在需要使用的时候调用这个方法。同样的道理,如果同一个数据库操作需要被多次使用,这个时候可以考虑将他抽取出来,这样被抽取出来的这个类似与方法的东西就是存储过程。所以,简单的说,存储过程...
数据库篇(二)——什么是存储过程?有哪些优缺点?
存储过程 就是一些编译好了的SQL语句,这些SQL语句代码像一个方法一样实现一些功能(对单表或多表的增删改查),然后给这些代码块取一个名字,在用到这个功能的时候调用即可。 存储过程详解参考: http://www.cnblogs.com/knowledgesea/archive/2013/01/02/2841588.html 优点: 存储过程是一个预编译的代码块,执行效率比较高 存储过...
查看数据库 存储过程
select name from mysql.proc where db='数据库名';
数据库之存储过程与触发器
存储器 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...
数据库-存储过程
–存储过程:实际上是封装在服务器的一段plsql代码片段,已经编译好了的代码 客户端去调用存储过程,执行效率会很高 语法: create [or replace] procedure 存储过程名称 (参数名 in|out 参数类型,…) is | as –声明部分 begin –处理逻辑 end; –例:给指定员工涨薪,并打印涨薪前后工资 –处理逻辑 参数: in 员工编号 参数: in 需要涨多...
数据库存储过程
数据库的存储过程 因为面试时总是被问到数据库的存储过程或储能特性,所以在网上找了一下资料,进行一个小总结。 原作者博客:https://www.cnblogs.com/songxxu/p/3345398.html 为什么使用存储过程? 1、增加性能。本地存储发送的内容少,调用快,预编译,高速缓存; 2、增强安全。加密、分离(权限设置,用户只需要有执行存储过程的权限,不需要有访问存储过程使用的对象的...
SQL数据库编写存储过程
推荐阅读:https://www.cnblogs.com/Brambling/p/6725859.html 程序获取数据库数据(后端)代码编写的两种方法,一是利用编程语言直接将SQL 语句以字符串的形式向数据库发送命令;二是将各种对数据库的操作命令存储在数据库中,利用编程语言来调用这些存储过程。 第二种方式优势明显。 存储过程的优势: 提高了程序的通用性和可移植性;可以重复调用,随时对存储...
Oracle数据库(十)——存储过程上
存储过程 创建存储过程 CREATE PROCEDURE TEST AS BEGIN DBMS_OUTPUT.PUT_LINE('我的第一个过程!'); END; --执行 --SERVEROUTPUT设置,想让DBMS_OUTPUT.PUT_LINE成功输出,需要把SERVEROUTPUT选项设置为ON的状态 SHOW SERVEROUTPUT SET SERVEROUTPUT ON...
JAVA面试基础-数据库的存储过程小结
1.存储过程是什么?    简单来说就是为以后的使用而保存的一条或者多条MySQL语句的集合,可将其视为批处理文件。虽然他们的作用不仅限于批处理。 2.为什么使用存储过程?   (1).通过把处理封装在容易使用的单元中 ,简化复杂的操作。简单   (2).由于不要求反复建立一系列的处理步骤,这保证了数据的完整性。防止步骤多而出现的错误。安全   (3).简化对变动的管理,如果表名,列名或...
数据库中存储过程意义
创建了是拿来用的,至于为什么要用存储过程,要先了解存储过程存在的意义: 存储过程由SQL语句和流程控制语句组成。它的功能包括:接受参数;调用另一过程;返回一个状态值给调用过程或批处理,指示调用成功或失败;返回若干个参数值给调用过程或批处理,为调用者提供动态结果;在远程SQL Server中运行等。 1)·存储过程是预编译过的,所以存储过程执行速度很快. 2)·存储过程和
简单讲一下数据库的存储过程的使用场景?
使用场景:1.通常,复杂的业务逻辑需要多条  SQL  语句。这些语句要分别地从客户机发送到服务器,当客户机和服务器之间的操作很多时,将产生大量的网络传输。如果将这些操作放在一个存储过程中,那么客户机和服务器之间的网络传输就会大大减少,降低了网络负载。优点:1、存储过程只在创建时进行编译,以后每次执行存储过程都不需再重新编译,而一般  SQL语句每执行一次就编译一次,因此使用存储过程可以大大提高数...
如何调用数据库的存储过程
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)
需求:统计一个sql server表单中的故障数据,根据故障类型和故障等级及故障次数,统计出一段时间内的故障积分,要总分,及前三的故障分和故障类型。Step1:因为对db不太熟悉,并且觉得视图比较直观,可以看到中间结果,所以,第一步做的先是统计出相关故障和次数。这涉及到故障信息表,设备的信息表,故障的配置表,以及设备所在项目的配置表。因为故障配置和项目配置都有静默时间,在这段静默时间里的故障是不作...
数据库存储过程的创建
在平时操作数据库的时候,我们使用存储过程频率是相当高的,对于很多新手来说,存储过程还是相对老说比较抽象的一个概念,今天我们就来了简单的解一下什么事存储过程,     首先,存储过程和函数在实现上是相差不大的,所谓的存储过,其实是相对一单条sql来讲的一组的sql语句的集合,一个存储过程中可以包含多条sql语句。在这里举一个简单的例子,比如说,我们在网上商城买东西的时候,首先我们需要进行一个判断,
TSQL 存储过程 游标 数据库 sql优化 存储过程分页
TSQL 存储过程 游标 数据库 sql优化 存储过程分页 TSQL 存储过程 游标 数据库 sql优化 存储过程分页 TSQL 存储过程 游标 数据库 sql优化 存储过程分页 TSQL 存储过程 游标 数据库 sql优化 存储过程分页 TSQL 存储过程 游标 数据库 sql优化 存储过程分页 TSQL 存储过程 游标 数据库 sql优化 存储过程分页 TSQL 存储过程 游标 数据库 sql优化 存储过程分页 TSQL 存储过程 游标 数据库 sql优化 存储过程分页
使用存储过程备份与还原数据库
使用存储过程备份与还原数据库备份:ALTER PROCEDURE [dbo].[database_backup]( @dir VARCHAR(100) --文件目录 ) AS BEGIN declare @cmd nvarchar(4000) declare @path nvarchar(4000) declare @now datetime set
显示数据库的所有存储过程(mysql)
显示数据库的所有存储过程 我们可以用 select name from mysql.proc where db=’数据库名’; 或者 select routine_name from information_schema.routines where routine_schema='数据库名'; 或者 show procedure status where db='数据库名...
SQL Server清空库下所有表数据
第一步:“新建查询”-》创建存储过程 如下: CREATE PROCEDURE sp_DeleteAllData AS EXEC sp_MSForEachTable 'ALTER TABLE ? NOCHECK CONSTRAINT ALL' EXEC sp_MSForEachTable 'ALTER TABLE ? DISABLE TRIGGER ALL' EXEC sp_MSForEachT
数据库存储过程与存储函数
1. 存储过程、存储函数概念     存储过程是一组为了完成特定功能的SQL语句集,经过编译后存储在数据库中,用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它,叫做存储过程、存储函数。 2. 存储过程与存储函数的区别     存储函数:可以通过return语句返回函数值;主要用于计算并返回一个值;     存储过程:不能;存储过程没有直接返回值,主要用于执行操作; ...
MySQL存储过程
存储过程简介 SQL语句需要先编译然后执行,而存储过程(Stored Procedure)是一组为了完成特定功能的SQL语句集,经编译后存储在数据库中,用户通过指定存储过程的名字并给定参数(如果该存储过程带有参数)来调用执行它。 存储过程是可编程的函数,在数据库中创建并保存,可以由SQL语句和控制结构组成。当想要在不同的应用程序或平台上执行相同的函数,或者封装特定功能时,存储过程是非常
请教:使用存储过程查询数据库
存储过程如下: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
数据库中存储过程,以及项目中的例子
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 ...
数据库存储过程(调用不同数据库或不同用户下的存储过程)
今天在开发过程中遇到两个问题: 1.如何调用别人数据库的存储过程? 2.如何调用自己数据库不同用户下的存储过程? 经过网上搜索资料和自己的不断测试,终于成功了,现记录下来,以便资源共享。 首先,如果是调用别人的数据库的存储过程,首先你得先跟别人的数据库建立一个DBLINK(如何创建,在此不进行描述),其次,别人数据库的存储过程要给你的用户赋予一定的权限。比如,我测试时候的数据, up
数据库的存储过程设计(2)
前文已经通过视图把基本需求实现了,现在要把他们合成一个存储过程。原以为会比较简单的实现,把这几个设计视图的代码合在一起就可以了。实际上,我们的需求还要添加一些条件限制筛选,这也是为什么不直接用视图的原因。条件1:通过用户筛选。条件2:通过时间筛选。通过类型筛选等等。这些条件需要通过参数传递进来。下面是最早的版本,依然使用的是临时表。ALTER PROCEDURE [dbo].[cal_etor_s...
简单讲一下数据库的存储过程的使用场景?
数据库存储过程具有如下优点: 1、存储过程只在创建时进行编译,以后每次执行存储过程都不需再重新编译,而一般 SQL 语句每执行一次就编译一次,因此使用存储过程可以大大提高数据库执行速度。 2、通常,复杂的业务逻辑需要多条 SQL 语句。这些语句要分别地从客户机发送到服务器,当客户机和服务器之间的操作很多时,将产生大量的网络传输。如果将这些操作放在一个存储过程中,那么客户机和服务器之间的网络传输就会...
MySQL数据库重命名存储过程
MySQL不支持将整个数据库(db schema)重命名,我们可以通过自己写一个存储过程来实现。 实现思路: 1)创建目标数据库。 2)执行命令:rename table 原库.表 to 目标库.表,将表重命名。 3)删除原库。 -- 说明:出于安全考虑,删除原库的操作在下述存储过程中已经注释掉,如果需要启用,去掉语句前的#号即可。 DELIMITER $$ CREATE D
数据库创建存储过程
一、变量 1.1 变量的种类 局部变量:v_名称 (存储过程内部用) 全局变量:@名称 (不同存储过程、SQL等之间共享) 系统变量:@@名称 (数据库内置的系统共享数据) 入参:i_名称 (存储过程接收数据) 出参 :@名称 (存储过程返回数据,因为返回结果要给外部命令使用,所有设为全局变量) 1.2 变量的类型 字符串:va...
MySQL数据库存储过程
本文以MySQL数据库为例对数据库存储过程进行介绍,包括创建、查看、执行和删除存储过程,并对比了WHILE和repeat循环的差别。 存储过程(Stored Procedure)是在大型数据库系统中,一组为了完成特定功能的SQL 语句集,存储在数据库中,经过第一次编译后再次调用不需要再次编译,用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它。存储过程是数据库中的一个重要对象。——百度百科
mysql学习7:MySQL数据库事物与存储过程
1
数据库存储过程编写模板
CREATE OR REPLACE PROCEDURE GBRP_QY_ACCIDENT_M_DAT_P(   In_StatDay in VARCHAR2, --输入时间,格式:yyyy-mm-dd   On_RtnCode out NUMBER,  --返回值:正确为0 错误为oracle的错误代码   On_RtnMsg out VARCHAR2  --返回信息,正确为NO_ERROR,否则...
Oracle数据库创建存储过程
1.最简单的存储过程 SQL> create procedure sample_proc is 2 begin 3 null; 4 end sample_proc; 5 /  2.如果我们重复建立存储过程 SQL> create procedure sample_proc is 2 begin 3 dbms_output.put_line('He
mysql定时执行某一存储过程,并实现mysql数据库的定时备份
mysql存储过程 1、存储过程(Stored Procedure)是一组为了完成特定功能的SQL语句集,经编译后存储在数据库中,用户通过指定存储过程的名字并给定参数(如果该存储过程带有参数)来调用执行它。 语法: CREATE PROCEDURE  过程名([[IN|OUT|INOUT] 参数名 数据类型[,[IN|OUT|INOUT] 参数名 数据类型…]]) [特性 ...] 过程体
存储过程(自动备份数据)
存储过程的作用: 1、(银行)将经常要执行的sql语句写成储存过程,储存在数据库中,可以提高执行效率。 2、储存过程的真正作用在于数据整合等复杂的业务操作。 3、在数据库开发领域中,存储过程是用作数据整合,数据接口,数据备份等操作。 功能:每天晚上12点备份银行交易记录明细表当日信息 思路:1.查询tb_transcation表的(当天)所有数据             2.插
Oracle数据库的存储过程、存储函数与触发器
Oracle数据库的存储过程、存储函数与触发器 在Oracle中使用的语言是plsql过程语言,它是一组sql语句组成的语句块+处理逻辑(条件判断+循环)。 下面我就简要介绍一下plsql语言的用法 语法:       declate             变量的声明        begin             程序体(一堆sql+if和循环)             ex
java中如何调用数据库的存储过程
CallableStatement执行存储过程 /** * 使用CablleStatement调用存储过程 * @author APPle * */ public class Demo1 { /** * 调用带有输入参数的存储过程 * CALL pro_findById(4); */ @Test public void test1(){ Connection co
sql存储过程
在数据库编程过程中经常会用到存储过程 , 相比 SQL 语句 , 存储过程更方便 , 快速 , 安全 ; 先将存储过程的相关介绍和使用方法总结如下 ; 存储过程的概念 存储过程 (Stored Procedure) 是在大型数据库系统中 , 一组为了完成特定功能的 SQL 语句集 , 存储在数据库中 , 经过第一次编译后再次调用不需要再次编译 , 用户通过指定存储过程的名字并给出参数 (如...