您现在的位置是:主页 > news > 佛山网站建设灵格/网页设计作品
佛山网站建设灵格/网页设计作品
admin2025/5/14 2:55:26【news】
简介佛山网站建设灵格,网页设计作品,防火墙 网站做端口映射,vi设计公司深圳(mysql)存储过程(1)存储过程是数据库服务器端的一段程序.mysql的存储过程,只有版本是mysql5.0或以上的才有此特性.(2)什么时候需要用存储过程存储过程通常是一些经常要执行的任务,这些任务往往是针对大量的记录而进行的。在服务器上执行存储过程,可以改善…
(mysql)存储过程
(1)
存储过程是数据库服务器端的一段程序.
mysql的存储过程,只有版本是mysql5.0或以上的才有此特性.
(2)
什么时候需要用存储过程
存储过程通常是一些经常要执行的任务,这些任务往往是针对大量的记录而进行的。在服务器上执行存储过程,可以
改善应用程序的性能。这是因为:
2.1.
服务器往往具有强大的计算能力和速度。
2.2
避免把大量的数据下载到客户端,减少网络上的传输量。
2.3
存储过程只在创造时进行编译,以后每次执行存储过程都不需再重新编译,而一般SQL语句每执行一次就编译一次,所
以使用存储过程可提高数据库执行速度。
2.4
存储过程可以重复使用,可减少数据库开发人员的工作量
2.5
安全性高,可设定只有某此用户才具有对指定存储过程的使用权
(3)
3.1
使用存储过程之前,须换一种分隔符.因为在存储过程中,存在多个SQL语句,所有须用另一个分隔符来表示结束符号.
分隔符: --->只对当前连接有效.下次连接时,仍以";"为分隔符.
DELIMITER //
用回原来的";",可以用: delimiter ;
3.2
第二部分是过程名,合法标识符的问题:
存储过程名对大小写不敏感,因此‘P1’和‘p1’是同一个名字,在同一个数据库中你将能给两个存储过程取相同的
名字,因为这样将会导致重载。某些DBMS允许重载(Oracle支持),但是MySQL不支持。
你可以采取“数据库名.存储过程名”这样的折中方法,如“db5.p1”。
(4)
4.1
创建存储过程时,先用选择相应的数据库。因为创建的存储过程是属于某一数据库的。
4.2
调用存储过程:
基本语法:call sp_name()
注意:存储过程名称后面必须加括号,哪怕该存储过程没有参数传递
如下:
call p1 () //
4.3
删除存储过程
1.基本语法:
drop procedure sp_name//
注意事项:
不能在一个存储过程中删除另一个存储过程,只能调用另一个存储过程
4.4
存储过程的查看:
1)
显示当前数据库存储过程:
show procedure status//
会显示数据库中所有的存储过程的所属数据库,存储过程名,类型(type),定义者(如:root@localhost),创建时间,修改
时间等.
2)
show create procedure sp_name
显示某一个存储过程的详细信息
3)
也可用:
select body from mysql.proc where name="过程名";
(5)
作用域:
CREATE PROCEDURE p11 ()
BEGIN
DECLARE x1 CHAR(5) DEFAULT 'outer'; -- 采用了默认子
相关文档:
MySQL-client-community-5.0.41-0.rhel4.i386.rpm # 客户端
MySQL-devel-community-5.0.82-0.rhel4.i386.rpm   ......
[转帖网址]http://java-2007.javaeye.com/blog/622269
忘记MySQL(和PHP搭配之最佳组合) ROOT密码是在MySQL(和PHP搭配之最佳组合)使用中很常见的问题,可是有很多朋友并不会重置ROOT密码,那叫苦啊,我有深有感触,特写此文章与大家交流:
1、编辑MySQL(和PHP搭配之最佳组合)配置文件:
windows环境中:%MySQL(和PHP搭配� ......
ERROR 1005 (HY000): Can't create table ' ****.frm' (errno: 150)
我是从以下几个方面解决了此问题:
1、确保参照的表和字段是存在的;
2、组成外键的字段要求被索引(主要是外键那个字段要求在其他表中是主键);
3、外键关联的两表或多表要求都是INNODB类型的表;
4、字段类型(说明)要一样`itemId` varchar( ......
Can't open the mysql.plugin table. Please run mysql_upgrade to create it
当碰到这样的错误是没有初始化mysql数据库,可以运行如下脚本就可以解决
cd /opt/mysql-5.1.46
cd scripts/
./mysql_install_db --user=mysql --datadir=/usr/local/mysql/var/
运行如下的代码就可以解决上述问题 ......
在数据库中,UNION和UNION ALL关键字都是将两个结果集合并为一个,但这两者从使用和效率上来说都有所不同。
MySQL中的UNION
UNION在进行表链接后会筛选掉重复的记录,所以在表链接后会对所产生的结果集进行排序运算,删除重复的记录再返回结果。实际大部分应用中是不会产生重复的记录,最常见的是过程表与历史表UNION。如 ......