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打交道,对产品的数据存储有了比较全面的掌握。并促使和执行了db的表结构和属性的检查。合服投放后,暂未发现因错误数据导致的bug或事故。
并在测试初期就关注和检测性能指标,促使程序做了一次性能测试;对投放时的风险增强了预防和控制。 ......
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 ......
MySQL的数据表类型很多,MySQL一共向用户提供了包括DBD、HEAP、ISAM、MERGE、MyIAS、InnoDB以及Gemeni这7种表。其中DBD、InnoDB属于事务安全类表,而其他属于事务非安全类表。
DBD
Berkeley DB(DBD)表是支持事务处理的表,由Sleepycat软件公司开发。它提供MySQL用户期待已久的功能--事务控制。事务控制在任何数据库系统中 ......
cmd下切换到 mysql 安装目录
例
d:/mysql/bin
(如果用WAMP安装则是D:\wamp\bin\mysql\mysql5.1.30\bin)
前提:mysql用户root密码为空.
输
入 mysql -u root mysql
mysql> 状态下输入
update user set password=password('新密码') where user='root';
回
显
Quer ......