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

问题描述

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

解决方案

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

解决方案二:
1.存储过程是什么?

? ??

? ? 百度百科:存储过程(Stored Procedure)是在大型数据库系统中,一组为了完成特定功能的SQL 语句集,存储在数据库中,经过第一次编译后再次调用不需要再次编译,用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它。存储过程是数据库中的一个重要对象,任何一个设计良好的......
答案就在这里:【数据库】 存储过程

解决方案三:
如果存储过程中需要使用变量,需要提前声明的。

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

时间: 2024-08-02 15:52:17

数据库存储过程,数据库存储过程的相关文章

删除数据库的所有存储过程、主键、外键、索引等

存储过程|数据|数据库|索引 --删除存储过程DECLARE @STRING VARCHAR(8000)WHILE EXISTS(SELECT NAME FROM SYSOBJECTS WHERE TYPE='P' AND STATUS>=0)BEGIN SELECT TOP 1 @STRING='DROP  PROCEDURE '+NAME  FROM   SYSOBJECTS    WHERE   TYPE = 'P' AND STATUS>=0 --SELECT @STRING EXEC

JSP数据库操作例程 - 存储过程 - JDBC-ODBC - SQL Server - 1.1版本

js|odbc|server|存储过程|数据|数据库 <%--作者:何志强[hhzqq@21cn.com]日期:2000-08-04 2000-08-16版本:1.1功能:JSP数据库操作例程 - 存储过程 - JDBC-ODBC - SQL Server SQL Server的存储过程如下:    create procedure sp_jsptest       @yourname  varchar(50),       @myname varchar(50) output    as   

SQL Server数据库中的存储过程介绍

 什么是存储过程 如果你接触过其他的编程语言,那么就好理解了,存储过程就像是方法一样. 竟然他是方法那么他就有类似的方法名,方法要传递的变量和返回结果,所以存储过程有存储过程名有存储过程参数也有返回值. 存储过程的优点:    存储过程的能力大大增强了SQL语言的功能和灵活性. 1.可保证数据的安全性和完整性. 2.通过存储过程可以使没有权限的用户在控制之下间接地存取数据库,从而保证数据的安全. 3.通过存储过程可以使相关的动作在一起发生,从而可以维护数据库的完整性. 4.在运行存储过程前,数据

SQL 数据库中的存储过程的参数问题

  1.SQL 数据库中的存储过程的参数问题 怎么将SQL数据库中的存储过程中的参数既作为输出变量又作为输出变量? [sql] view plaincopy --drop proc proc_test --go create proc dbo.proc_test @in int, @out int out, @in_out int output as select @out = @in + @in_out, --1 + 2 = 3 @in_out = @out + 1 --3 + 1 = 4 g

ado-ADO连接Access数据库,调用存储过程怎么写?

问题描述 ADO连接Access数据库,调用存储过程怎么写? 如题,请问,ADO连接Access数据库,调用存储过程怎么写? 解决方案 access根本不支持存储过程 解决方案二: hibernate调用数据库存储过程

java调用2个数据库中的存储过程,连接池用的c3p0,当调用第二个数据库的存储过程时出错

问题描述 java调用2个数据库中的存储过程,连接池用的c3p0,当调用第二个数据库的存储过程时出错 我这个程序用了一个定时任务,连接池用的c3p0,然后dao层是调用的存储过程,调用的存储过程分布在2个数据库中.但是当程序执行的时候,先执行的那个数据库中的所有存储过程没问题,然后当执行到另外一个数据库中的存储过程时,调用这数据库中的存储过程就全部报错. 数据源: 调用存储过程: ! Config.getConfig(),是获取数据源: 报错信息就是:"xxx存储过程名"必须声明 如果

在Mysql数据库里通过存储过程实现树形的遍历_Mysql

关于多级别菜单栏或者权限系统中部门上下级的树形遍历,oracle中有connect by来实现,mysql没有这样的便捷途径,所以MySQL遍历数据表是我们经常会遇到的头痛问题,下面通过存储过程来实现. 1,建立测试表和数据: DROP TABLE IF EXISTS csdn.channel; CREATE TABLE csdn.channel ( id INT(11) NOT NULL AUTO_INCREMENT, cname VARCHAR(200) DEFAULT NULL, pare

java频繁连接、调用oracle数据库的某存储过程,且存储过程返回游标在JAVA中遍历,使用什么连接,或什么方式效率比较好??

问题描述 java频繁连接.调用oracle数据库的某存储过程,且存储过程返回游标在JAVA中遍历,使用什么连接,或什么方式效率比较好??

SQL Server数据库中的存储过程介绍_MsSql

什么是存储过程 如果你接触过其他的编程语言,那么就好理解了,存储过程就像是方法一样. 竟然他是方法那么他就有类似的方法名,方法要传递的变量和返回结果,所以存储过程有存储过程名有存储过程参数也有返回值. 存储过程的优点:    存储过程的能力大大增强了SQL语言的功能和灵活性. 1.可保证数据的安全性和完整性. 2.通过存储过程可以使没有权限的用户在控制之下间接地存取数据库,从而保证数据的安全. 3.通过存储过程可以使相关的动作在一起发生,从而可以维护数据库的完整性. 4.在运行存储过程前,数据库

关于.net 调用存储过程嵌套存储过程的问题

问题描述 各位好:有这样一个需求:环境是SQL2012有一个存储过程A,没有输入参数,有4个输出字段的参数.嵌套了一个存储过程B,有2个输入参数,4个输出参数.2个参数已赋值.4个输出也已经正常输出.现在问题如下:在SQL查询分析器执行正确输出.但是通过.net调用的时候,定义了A的4个输出参数.但是提示列名或所提供值的数目与表定义不匹配.列名或所提供值的数目与表定义不匹配.列名或所提供值的数目与表定义不匹配.列名或所提供值的数目与表定义不匹配.列名或所提供值的数目与表定义不匹配.警告:聚合或其