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,如 ......
方法一
使用phpmyadmin,这是最简单的了,修改mysql库的user表,不过别忘了使用PASSWORD函数。
方法二
使用mysqladmin,这是前面声明的一个特例。
mysqladmin -u root -p password mypasswd
输入这个命令后,需要输入root的原密码,然后root的密码将改为mypasswd。
把命令里的root改为你的用户名,你就可以改你 ......
*************************字符串函数***********************************
mysql> select concat('aa','bb');//字符串的连接
mysql> select insert ('beijing2008you',12,3,'me');//字符串的插入
+-------------------------------------+
| insert ('beijing2008you',12,3,'me') |
+----------------------- ......