| | 网站首页 | 业界信息 | 技术教程 | 解决方案 | 建站素材 | 留言本站 | 云瑞产品 | 下载中心 | 在线影院 | 技术论坛 | | |
![]() |
|
| 您现在的位置: 云通网络 >> 技术教程 >> 网络技术 >> 数据库专区 >> Mysql >> 正文 |
|
|||||
| MySQL 5.0 新特性教程 存储过程:第三讲 | |||||
作者:本站整理 文章来源:网址收集 点击数: 更新时间:2007-11-22 ![]() |
|||||
|
The New SQL Statements 新SQL语句 Variables 变量 在复合语句中声明变量的指令是DECLARE。 (1) Example with two DECLARE statements 两个DECLARE语句的例子 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块中声明变量和它们的类型。 变量一旦声明,你就能在任何能使用会话变量、文字、列名的地方使用。 (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 */ (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; // 我们在这里做了一些改变,但是结果还是一样的。在这里使用了DEFAULT子句来设定初始值,这就不需要把DECLARE和SET语句的实现分开了。 (4) Example of CALL 调用的例子 mysql> CALL p10() // +--------+ | s1 * a | +--------+ | 25 | | 25 | +--------+ 2 rows in set (0.00 sec) Query OK, 0 rows affected (0.00 sec) (5) Scope 作用域 CREATE PROCEDURE p11 () BEGIN DECLARE x1 CHAR(5) DEFAULT 'outer'; BEGIN DECLARE x1 CHAR(5) DEFAULT 'inner'; SELECT x1; END; SELECT x1; END; // 现在我们来讨论一下作用域的问题。例子中有嵌套的BEGIN/END块,当然这是合法的。同时包含两个变量,名字都是x1,这样也是合法的。内部的变量在其作用域内享有更高的优先权。当执行到END语句时,内部变量消失,此时已经在其作用域外,变量不再可见了,因此在存储过程外再也不能找到这个声明了的变量,但是你可以通过OUT参数或者将其值指派 给会话变量来保存其值。 调用作用域例子的过程: mysql> CALL p11()// +-------+ | x1 | +-------+ | inner | +-------+ +-------+ | x1 | +-------+ | outer | +-------+ Conditions and IF-THEN-ELSE 条件式和IF-THEN-ELSE 1. 现在我 [1] [2] [3] [4] [5] [6] [7] 下一页 文章来自:云通信息技术网 www.kmxm.net版权声明:部分内容转载于网络,其版权属于原作者,如果有任何内容方面的问题,请联系我们。
|
|||||
| 文章录入:情之何物 责任编辑:情之何物 | |||||
| 【在百度上搜索】 【社区讨论】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口】 | |||||
| 最新热点 | 最新推荐 | 相关文章 | ||
| MySQL管理员指南之--MySQL用 mysql的本地备份和双机相互备 MySQL中文参考手册-- 常用查 MySQL 5.0 新特性教程 触发器 从MySQL导出XLS数据库工具(跨 通过mysql入侵NT和win2000 MySQL安全问题(匿名用户)的一 MySQL3.23.31之前版本的安全 MySQL中文参考手册-- 连接与 为什么mysql5 改密码后不能登 |
网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!) |
| | 设为首页 | 加入收藏 | 联系站长 | 友情链接 | 高清电视 | 马龙社区 | 本站Alexa排名 | 在线翻译 | |
![]() |
Copyright © 2004-2007 云瑞恒通 Kmxm.Net. All Rights Reserved. 业务联系:0874-8880726 E-mail:kmxmxy@163.com QQ:32106551 备案序号:滇ICP备05005610号 站长:admin |