问题描述
- 数据库存储过程,数据库存储过程
- 在存储过程中为什么要申明变量??????????不声明可以吗?????????????????????????在什么样的情况下声明和不申明??????
解决方案
你需要保存中间结果就需要变量,不需要中间结果保留就不需要。比如说,交换两个数,那么需要一个中间变量。两个数相加就不需要。
解决方案二:
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