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开源社区 作者:chusong
查询到效率低的 SQL 语句 后,可以通过 EXPLAIN 或者 DESC 命令获取 MySQL 如何执行 SELECT 语句的信息,包括在 SELECT 语句执行过程中表如何连接和连接的顺序,比如我们想计算 2006 年所有公司的销售额,需要关联 sales ......
下载mysql-4.1.14-win32.zip解压后得到mysql-4.1.14-win32文件夹,打开此文件夹运行setup.exe文件,Next,Custom、Next,Change,将路径改为d:\MySQL\MySQL Server 4.1\,OK,Next,Install,完成后跳出窗口如图:
点一下Cancel,再直点Finish。现在跳出设置mysql的窗口,如图:
Next,Next,Next,next,Next,如 ......
Python与Mysql
一、安装MySQLdb模块
使用python连接Mysql的前提,就是需要一个让python连接到Mysql的接口,这就是MySQLdb模块。
验证是否已经安装了MySQLdb:
==========================================================
d:\usr\local\Python25>python
Python 2.5.4 (r254:67916, Dec 23 2008, 15:10:54) [MSC v ......