mysql 创建存储过程(mysql 5.0) mysql 存储过程是从 mysql 5.0 开始增加的新功能。存储过程的优点有一箩筐。不过最主要的还是执行效率和SQL 代码封装。特别是 SQL 代码封装功能,如果没有存储过程,在外部程序访问数据库时(例如 PHP),要组织很多 SQL 语句。特别是业务逻辑复杂的时候,一大堆的 SQL 和条件夹杂在 PHP 代码中,让人不寒而栗。现在有了 mysql 存储过程,业务逻辑可以封装存储过程中,这...
by zhiming.yk - MySQL文档中心 - 2009-11-05 18:29:27 阅读(1931) 回复(0)
http://www.cosrc.com 1 用mysql客户端登入 2 选择数据库 mysql>use test 3 查询当前数据库有哪些存储过程 mysql>show procedure status where Db='test' 4 创建一个简单的存储过程 mysql>create procedure hi() select 'hello'; 5 存储过程创建完毕,看怎么调用它 mysql>call hi(); 显示结果 mysql> call hi(); +-------+ | hello | +-------+ | hello | +-------+ 1 row in set (0.00 sec) Query OK, 0 rows affected (0.01 se...
本帖最后由 jdgdf566 于 2012-03-06 14:27 编辑 我是在phpmyadmin的网页里面运行的。[code]CREATE PROCEDURE indexdphp() BEGIN SELECT 1 AS t END[/code]提示: #1064 - You have an error in your SQL syntax; check the manual that corresponds to your mysql server version for the right syntax to use near 'END' at line 4 是不是不是SQL语句的原因啊?[code]CREATE PROCEDURE indexdphp() BEGIN END[/code]这样就成功...
来自互联网. 1 用mysql客户端登入 2 选择数据库mysql>use test 3 查询当前数据库有哪些存储过程 mysql>show procedure status where Db='test' 4 创建一个简单的存储过程 mysql>create procedure hi() select 'hello'; 5 存储过程创建完毕,看怎么调用它 mysql>call hi(); 显示结果 mysql> call hi(); +-------+ | hello | +-------+ | hello | +-------+ 1 row in set (0.00 sec) Query OK, 0 rows affected (0.01 sec) 6 一...
存储过程创建语法: CREATE PROCEDURE procedure_name ([parameter[,...]) [LANGUAGE SQL] [ [NOT] DETERMINISTIC ] [{CONTAINS SQL|MODIFIES SQL DATA|READS SQL DATA|NO SQL}] [SQL SECURITY {DEFINER|INVOKER} ] [COMMENT comment_string] procedure_statements 可用SHOW PROCEDURE STATUS 或 SHOW CREATE PROCEDURE 来查看存储过程信息 另,系统表INFORMATION_SCHEMA.ROUTINES也包含了存储过程的一些信息 同样地,函数...
本文代码在 mysql 5.0.41-community-nt 下运行通过。 编写了个统计网站访问情况(user agent)的 mysql 存储过程。 就是下面的这段 SQL 代码。 drop procedure if exists pr_stat_agent; -- call pr_stat_agent ('2008-07-17', '2008-07-18') create procedure pr_stat_agent ( pi_date_from date ,pi_date_to date ) begin -- check input if (pi_date_from is null) then set pi_date_from = current_date...
mysql如何才能正确创建用户名和密码,才能正确使用存储过程? 我以前直接用root, 密码为空时。能使用mysql的存储过程的。 原来PHP的连接字符串是这样的: mysql_connect('localhost','root','','1','131072');mysql_select_db('serverce',$conn);?> 创建一个新用户后,PHP的连接字符串是这样的: mysql_connect('localhost','abcu','12345678P','1','131072');mysql_select_db('serverce',$conn);?...
我要创建如下的存储过程: CREATE PROCEDURE p10 () BEGIN DECLARE a, b INT DEFAULT 5; INSERT INTO t VALUES (a); SELECT s1 * a FROM t WHERE s1 >= b; END; // 可是每次创建到 mysql> CREATE PROCEDURE p10 () -> BEGIN -> DECLARE a, b INT DEFAULT 5; ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your mysql server version for the right syntax to use near 'INT D ...
两个问题: 1、mysql的存储过程能使用数组作为输入参数、输出参数或输入输出参数吗? 2、mysql的存储过程能“包含不带游标的select语句”吗?比如: create procedure xyz() begin select * from terms; end 然后,call xyz();返回多行结果。这个书上说可以,但实际上总有语法错误,不知道是怎么回事?
在mysql存储过程的语句中有三个标准的循环方式:WHILE循环,LOOP循环以及REPEAT循环。还有一种非标准的循环方式:GOTO,不过这种循环方式最好别用,很容易引起程序的混乱,在这里就不错具体介绍了。
这几个循环语句的格式如下:
WHILE……DO……END WHILE
REPEAT……UNTIL END
REPEAT
LOOP……END LOOP
GOTO。
|