约定和编程风格
每次我想要演示实际代码时,我会对 mysql 客户端的屏幕就出现的代码进行调整,将字体
改成 Courier,使他们看起来与普通文本不一样(让大家区别程序代码和正文)。在这里
举个例子:
mysql> DROP FUNCTION f;
Query OK, 0 rows affected (0.00 sec)
如果实例比较大,则需要在某些行和段落间加注释,同时我会用将"<--"符号放在页面的右
边以表示强调。例如:
mysql> CREATE PROCEDURE p ()
-> BEGIN
-> /* This procedure does nothing */ <--
-> END;//
Query OK, 0 rows affected (0.00 sec)
有时候我会将例子中的"mysql>"和"->"这些系统显示去掉,你可以直接将代码复制到
mysql 客户端程序中(如果你现在所读的不是电子版的,可以在 mysql.com 网站下载相
关脚本) 所以的例子都已经在 Suse 9.2 Linux、Mysql 5.0.3 公共版上测试通过。在您
阅读本书的时候,Mysql 已经有更高的版本,同时能支持更多 OS 了,包括
Windows,Sparc,HP-UX。因此这里的例子将能正常的运行在您的电脑上。但如果运行
仍然出现故障,可以咨询你认识的资深 Mysql 用户,这样就能得到比较好的支持和帮助。
为什么要用触发器
我们在 MySQL 5.0 中包含对触发器的支持是由于以下原因:
MySQL 早期版本的用户长期有需要触发器的要求。
我们曾经许诺支持所有 ANSI 标准的特性。
您可以使用它来检查或预防坏的数据进入数据库。
您可以改变或者取消 INSERT, UPDATE 以及 DELETE 语句。
您可以在一个会话中监视数据改变的动作。
在这里我假定大家都读过"MySQL 新特性"丛书的第一集--"MySQL 存储过程",那么大家
都应该知道 MySQL 至此存储过程和函数,那是很重要的知识,因为在触发器中你可以使
用在函数中使用的语句。特别举个例子:
复合语句(BEGIN / END)是合法的.
流控制(Flow-of-control)语句(IF, CASE, WHILE, LOOP, WHILE, REPEAT,
LEAVE,ITERATE)也是合法的.
变量声明(DECLARE)以及指派(SET)是合法的.
评论6
最新资源