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. 数据库移除的时候,与它关联的所有存储子程序也都被移除。
【编辑推荐】

创建MySQL存储过程示例
带参数的MySql存储过程
MySQL重复记录的处理方法
教您如何MySql查询时间段
教您如何实现MySQL数据库备份及恢复
SQL里面不带参数的存储过程与视图的区别
1、存储过程是程序化的sql可以实现一般sql不能实现的功能。 如:先检索一个表得到一些数据,经过一定的编辑后更新到另外一个表中、这就可以用不带参数的存储过程实现。 2、视图是虚拟表,不存储数据,存储的是sql,检索他的时候实际上是执行定义它的sql语句。 说明:从你的问题上可以看出,你使用存储过程仅仅是用它检索数据,所以你会产生这样的疑问,一定要记住,存储过程理解的简单一点就是“数据库中的程序”,可以在不需要外部程序(如C,java,vb等)的情况下,让数据库自己解决复杂的、用一般sql不能实现的功能,而视图则不然。 ---以上,希望对你有所帮助。
数据库中函数和存储过程的求别?
存储过程需要单独执行; 函数可以随处调用。 存储过程是保存起来的可以接受和返回用户提供的参数的 Transact-SQL 语句的集合。 可以创建一个过程供永久使用,或在一个会话中临时使用(局部临时过程),或在所有会话中临时使用(全局临时过程)。 也可以创建在 Microsoft® SQL Server™ 启动时自动运行的存储过程。 用户定义函数,它是返回值的已保存的 Transact-SQL 例程。 用户定义函数不能用于执行一组修改全局数据库状态的操作。 与系统函数一样,用户定义函数可以从查询中唤醒调用。 也可以像存储过程一样,通过 EXECUTE 语句执行。 这个的解释也很好。
pl/sql编程,存储过程的作用是什么?
存储过程,就是带有名字的一个程序块。 存储,是指这个程序块创建了之后,是存储在数据库内部的,然后我们可以在自己写的程序中通过某种手段去调用这段程序,然后这段程序就会做一件事,做什么事?我们定义存储过程的时候怎么写的,它到时候就做什么;过程,就是程序块,说白了就是一段程序。 存储过程,创建完成之后,就存储在数据库内部了,数据库帮你记着,存储过程创建的时候都有一个名字,将来你在你的程序当中,通过某种方式(不同编程语言有不同的方式),一般来讲通过这个名字,去调用存储过程,就像使用一个方法或者函数一样,它就去做一件事!不同的数据库的存储过程,都是用当前自己这个数据库的编程语言来编写的,比如Oracle的PL/SQL编程,等等。
发表评论