mysql procedure 返回结果集
mysql procedure 没有return参数 可以out一个变量给客户端 但是out参数又不支持游标类型,如何能out出一个结果集呢?
方法很简单 就是在procedure里执行一个select (select .... from ...)
eg.
CREATE PROCEDURE `CREATE_ACCOUNT`(
ACCOUNT CHAR(32),
PASSWORD CHAR(32),
OUT I_RETURN_CODE INT
)
BEGIN
UPDATE
ACCOUNT
SET
Flag = 0
WHERE
Account = S_ACCOUNT;
SET I_RETURN_CODE = 1;
SELECT Flag from ACCOUNT WHERE Account = S_ACCOUNT;
END;
这样,在客户端程序调用的直接获取结果集就ok了,附一段java代码
Connection conn = null;
CallableStatement ps = null;
String url = "jdbc:mysql://192.168.1.13:3306/adb";
String user = "user", pass = "password";
try{
Class.forName("com.mysql.jdbc.Driver");
System.out.println("regedit driver seccess!");
System.out.println("now,getting a connection .... ...");
conn = DriverManager.getConnection(url, user, pass);
System.out.println("getting connection seccess!");
ps = conn.prepareCall("{call CREATE_ACCOUNT(?,?,?)}");
ps.setString(1,"24ADB4E2F0");
ps.setString(2,"apassword"); e
ps.registerOutParameter(3, Types.INTEGER); //ret code
System.out.println("binding parameters seccess!");
ps.execute();
System.out.println("execute procedure seccess!");
int ret = ps.getInt(3);
ResultSet rs = ps.getResultSet(); // the result set that procedure return
if(rs != null)
{
while(rs.next())
{
System.out.println(rs.getInt(1));
}
}
conn.close();
System.out.println("closing this connection seccess!");
}
catch(Exception e)
{
System.out.println("Exception: "+e);
}
相关文档:
[MySQL优化] -- 如何了解SQL的执行频率
时间:2010-2-28来源:HaCMS开源社区 作者:chuxu
MySQL 客户端连接成功后,通过 show [session|global]status 命令 可以提供服务器状态信息,也可以在操作系统上使用 mysqladmin extended-status 命令获得这些消息。 show [session|global] status 可以根据需要加上参数&ldquo ......
用 OPTIMIZE TABLE 优化 mysql 表
时间:2010-2-28来源:HaCMS开源社区 作者:gangzhong
REPAIR TABLE `table_name` 修复表 OPTIMIZE TABLE `table_name` 优化表 myisamchk table.MYI 修复索引 REPAIR TABLE 用于修复被破坏的表。 myisamchk TABLE.MYI 用于修复被破坏的索引文件。 OPTIMIZE TABLE 用于回收闲置的数据 ......
方法一
使用phpmyadmin,这是最简单的了,修改mysql库的user表,不过别忘了使用PASSWORD函数。
方法二
使用mysqladmin,这是前面声明的一个特例。
mysqladmin -u root -p password mypasswd
输入这个命令后,需要输入root的原密码,然后root的密码将改为mypasswd。
把命令里的root改为你的用户名,你就可以改你 ......
# cd /home/tmp (进入压缩包所在目录)
# groupadd mysql (建立mysql组)
# useradd -g mysql mysql (在mysql组中建立mysql用户)
# tar -zxvf mysql-5.0.37.tar.gz (解压mysql源码,bz2压缩包请用“tar -jvxf 文件名”指令)
# cd mysql-5.0.37 (进入解压目录)
# ./configure --prefix=/usr/local/mysql (p ......
在phpmyadmin的根目录下建立config.inc.php
写入如下代码:
<?php
//phpmyadmin 配置文件
//本地MySQL数据库
$i=1;
$cfg['Servers'][$i]['host'] =
'localhost';
$cfg['Servers'][$i]['user'] ......