易截截图软件、单文件、免安装、纯绿色、仅160KB

mysql存储过程及函数

注意:mysql中的用户变量的生命周期是会话级的,不是语句级的!
存储过程--------------------------------------------------
drop procedure if exists usp_simple;
delimiter //
create procedure usp_simple(in ip int, out op int, inout iop int)
begin
 select count(*) into op from t1;
 set op = op + ip;
 set iop = iop * 2;
end;
//
delimiter;
执行:
set @iop = 3;
call usp_simple(6,@op,@iop);
select @op,@iop
------------------------------
drop procedure if exists usp_simple2;
delimiter //
create procedure usp_simple2()
begin
 select * from t1;
end;
//
delimiter;
执行:
call usp_simple2();
函数------------------------------------------------------
delimiter //
CREATE FUNCTION hello (s CHAR(20)) RETURNS CHAR(50)
RETURN CONCAT('Hello, ',s,'!');
//
delimiter ;
 
SELECT hello('world');
-------------------------------------------------------------
注意在复制系统里,存储过程和函数的确定性,这一点非常重要!!!!
在主服务器上,除非子程序被声明为确定性的或者不更改数据,否则创建或者替换子程序将被拒绝。默认情况下创建SP或者FN肯定会遇到1418的错误号。
解决办法:
在选项文件里,配置log_bin_trust_routine_creators=1。Mysql会认为所有创建子程序的创建者都是可以信任的,创建的子程序都是确定的。
不确定性子程序举例:
1. ------------------------------------
CREATE FUNCTION myfunc () RETURNS INT
·                BEGIN
·                  INSERT INTO t (i) VALUES(1);
·                  RETURN 0;
·                END;
按照上面定义,下面的语句修改表t,因为myfunc()修改表t, 但是语句不被写进二进制日志,因为它是一个SELECT语句:
SELECT myfunc();
2.--------------------------------------
delimiter //


相关文档:

mysql数据导出到sqlserver方法

这里是使用ODBC来转换数据库的。
1.安装mysql数据库的ODBC驱动,mysql官网有下载http://dev.mysql.com/downloads/connector/odbc/
2.打开控制面板\管理工具\数据源ODBC,在用户DSN中添加一个MySQL ODBC 数据源。
3.接着在下面的窗体中输入数据源名称,如mysqlodbc;然后输入服务器Server地址(localhost或其他),用户Us ......

MySQL不能启动服务1067错误

MySQL重新安装的时候出现了问题:Could not start the service MySQL. Error:0,原因是没有对旧的MySQL完全卸载掉。
    在你从电脑里卸载旧的MYSQL数据库服务时,首先先在WINDOWS服务里停掉MYSQL的服务。再到控制面板里的增加删除程序内进行删除,然后手动删除原安装文件,但是你并不能完整的把MYSQL服务删 ......

MySQL和SQL字段截短漏洞

转载自:http://www.neatstudio.com/index-4.shtml
文章来自寂寞hacker,http://hi.baidu.com/isbx/blog/item
/08ef48547ef1ad58574e00bf.html:
当前的Web开发者中肯定有不少人没有注意到作者所提到的这两个问题的。
第一个问题是这样的,MySQL默认有一个配置参数
max_packet_size,这个参数是用于限制MySQL客户端和My ......

MYSQL管理

定期维护你的数据表。
 
工具:mysqlcheck   myisamchk
    mysqlcheck客户端可以检查和修复MyISAM表。它还可以优化和分析表。
    mysqlcheck的功能类似myisamchk,但其工作不同。
    主要差别是当mysqld服务器在运行时必须使用mysqlcheck,而myisamch ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号