当前位置:嗨网首页>书籍在线阅读

11-变量

  
选择背景色: 黄橙 洋红 淡粉 水蓝 草绿 白色 选择字体: 宋体 黑体 微软雅黑 楷体 选择字体大小: 恢复默认

9.4.3 变量

在存储过程和自定义函数中,都可以定义和使用变量。变量的定义使用DECLARE关键字,定义后可以为变量赋值。变量的作用域在BEGIN…END程序段中。本小节主要介绍如何定义变量及如何为变量赋值。

1.定义变量

MySQL中使用DECLARE关键字来定义变量。定义变量的基本语法如下。

DECLARE var_name[,...] type [DEFAULT value]

下面对定义变量的各部分语法进行详细说明。

(1)DECLARE关键字用来声明变量。

(2)var_name参数是变量的名称,可以同时定义多个变量。

(3)type参数用来指定变量的类型。

(4)DEFAULT value 子句为变量提供一个默认值。默认值可以是一个常数,也可以是一个表达式。如果没有给变量指定默认值,初始值为NULL。

定义名称为empdept的变量,类型为char,默认值为‘财务部’,代码如下。

declare empdept char(10) default '财务部';

2.变量的赋值

MySQL中使用SET语句为变量赋值,语法格式如下。

SET var_name=expr[,var_name=expr]...

其中,SET 关键字是用来给变量赋值的;var_name为变量的名称;expr是赋值表达式。一个SET语句可以同时为多个变量赋值,各个变量的赋值语句之间用逗号隔开。

【范例9-13】

声明3个变量var1、var2、var3,其中var1和var2 数据类型为int,var3的数据类型为char,使用SET语句为3个变量赋值,代码如下。

Declare var1,var2 int; Declare var3 char(20); Set var1=10,var2=20,var3='hello';

MySQL中还可以使用SELECT…INTO语句为变量赋值。其基本语法如下。

SELECT col_name[,…] INTO var_name[,…] FROM table_name WEHRE condition

该语句实现将SELECT选定的列值直接存储在对应位置的变量中,语句中的col_name为查询的字段名称;var_name为变量的名称;table_name参数指查询的表的名称;condition参数指查询条件。

【范例9-14】

声明一个变量emp_name,将雇员编号为10的雇员姓名赋值给该变量。

Declare emp_name char(20); Select empname into emp_name From emp Where empno=10;