MySQL存储过程和数据库的联系


  本文标签:MySQL存储过程

  MySQL存储过程是我们经常要用到的,下面就对MySQL存储过程和数据库的联系进行详尽的阐述,如果您对MySQL存储过程方面感兴趣的话,不妨一看  。

  一.要把一个表从一个类型转到另一个类型,可使用ALTER TABLE语句,这个语句指明新的类型:
ALTER TABLE t ENGINE = MYISAM;
ALTER TABLE t TYPE = BDB;

  二.MySQL存储过程:

  下面一些情况下MySQL存储程序尤其有用:

  1.当用不同语言编写多客户应用程序,或多客户应用程序在不同平台上运行且需要执行相同的数据库操作之时  。

  2.安全极为重要之时  。比如,银行对所有普通操作使用存储程序  。这提供一个坚固而安全的环境,程序可以确保每一个操作都被妥善记入日志  。在这样一个设置中,应用程序和用户不可能直接访问数据库表,但是仅可以执行指定的存储程序  。 存储程序和函数是用CREATE PROCEDURE和CREATE FUNCTION语句创建的子程序  。一个子程序要么是一个程序要么是一个函数  。使用CALL语句来调用程序,程序只能用输出变量传回值  。就像别其它函数调用一样,函数可以被从语句外调用(即通过引用函数名),函数能返回标量值  。存储子程序也可以调用其它存储子程序  。

  在MySQL 5.1中,一个存储子程序或函数与特定的数据库相联系  。这里有几个意思:

  1. 当一个子程序被调用时,一个隐含的USE db_name 被执行(当子程序终止时停止执行)  。存储子程序内的USE语句时不允许的  。

  2. 你可以使用数据库名限定子程序名  。这可以被用来引用一个不在当前数据库中的子程序  。比如,要引用一个与test数据库关联的存储程序p或函数f,你可以说CALL test.p()或test.f()  。

  3. 数据库移除的时候,与它关联的所有存储子程序也都被移除  。