WEB开发网
开发学院数据库MySQL MySQL5.0新特性教程 存储过程:第三讲 阅读

MySQL5.0新特性教程 存储过程:第三讲

 2007-04-22 10:55:57 来源:WEB开发网   
核心提示:The New SQL Statements 新SQL语句Variables 变量在复合语句中声明变量的指令是DECLARE,(1) Example with two DECLARE statements两个DECLARE语句的例子WHILE ... END WHILECREATE PROCEDURE p8 ()BEG

The New SQL Statements 新SQL语句

Variables 变量

在复合语句中声明变量的指令是DECLARE。

(1) Example with two DECLARE statements

两个DECLARE语句的例子

WHILE ... END WHILE
CREATE PROCEDURE p8 ()
BEGIN
DECLARE a INT;
DECLARE b INT;
SET a = 5;
SET b = 5;
INSERT INTO t VALUES (a);
SELECT s1 * a FROM t WHERE s1 >= b;
END; // /* I won't CALL this */

在过程中定义的变量并不是真正的定义,你只是在BEGIN/END块内定义了而已(译注:也就是形参)。

注意这些变量和会话变量不一样,不能使用修饰符@你必须清楚的在BEGIN/END块中声明变量和它们的类型。

变量一旦声明,你就能在任何能使用会话变量、文字、列名的地方使用。

(2) Example with no DEFAULT clause and SET statement

没有默认子句和设定语句的例子

CREATE PROCEDURE p9 ()
BEGIN
DECLARE a INT /* there is no DEFAULT clause */;
DECLARE b INT /* there is no DEFAULT clause */;
SET a = 5; /* there is a SET statement */
SET b = 5; /* there is a SET statement */
INSERT INTO t VALUES (a);
SELECT s1 * a FROM t WHERE s1 >= b;
END; // /* I won't CALL this */

有很多初始化变量的方法。如果没有默认的子句,那么变量的初始值为NULL。你可以在任何时候使用SET语句给变量赋值。

(3) Example with DEFAULT clause

含有DEFAULT子句的例子

CREATE PROCEDURE p10 ()
BEGIN
DECLARE a, b INT DEFAULT 5;
INSERT INTO t VALUES (a);
SELECT s1 * a FROM t WHERE s1 >= b;
END; //

1 2 3 4 5 6  下一页

Tags:MySQL 特性 教程

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接