# 定义预处理语句 PREPARE stmt_name FROM preparable_stmt; # 执行预处理语句 EXECUTE stmt_name [USING @var_name [, @var_name] ...]; # 删除(释放)定义 {DEALLOCATE | DROP} PREPARE stmt_name;
2)变量 set语句可用于向系统变量或用户变量赋值,针对用户变量的定义如下:
SET @var_name = expr [, @var_name = expr] ...
也可使用select语句来定义:
SELECT @var_name := expr [, @var_name = expr] ...
用户变量:以"@"开始,形式为"@var_name",以区分用户变量及列名。 它可以是任何随机的,复合的标量表达式,只要其中没有列指定 处理:
--定义查询集群信息的预编译 PREPARE s1 FROM 'select distinct(clusterName), Version, ts from m_fds_version order by ts desc limit ?'; --定义集群个数变量 select @limit_num:=count(distinct(clusterName)) from m_fds_version; --执行预编译语句 EXECUTE s1 USING @limit_num; --删除预编译 DROP PREPARE s1;