RT
解决方案 »
- 求一sql
- c#可否操作mysql?
- mysql front打不开了,帮帮忙
- 如何插入大量数据????急!!!
- how to "update some record from select"?
- 怎么解
- Suse Linux 执行mysqld_safe --skip-grant-tables &后出错
- Keepalived+Mysql 配置完后用Mysql客户端连接Vip抽疯
- mysql主从复制:主服务器每天都产生4G多的二进制日志是怎么回事?我的数据库访问量也没那么大,是my.ini配置的原因吗?my.ini文件在下面
- mysql里面有一个数据库,一个表里面有百万条数据,如何优化快速查询
- xtrabackup加--tables=dbname.*后仍然全部备份
- Mysql触发器能不能不for each row?
-> BEGIN
-> SELECT COUNT(*) INTO param1 FROM t;
-> END;
-> //
Query OK, 0 rows affected (0.00 sec)mysql> delimiter ;mysql> CALL simpleproc(@a);
Query OK, 0 rows affected (0.00 sec)mysql> SELECT @a;
+------+
| @a |
+------+
| 3 |
+------+
1 row in set (0.00 sec)
mysql> CREATE FUNCTION hello (s CHAR(20)) RETURNS CHAR(50)
-> RETURN CONCAT('Hello, ',s,'!');
Query OK, 0 rows affected (0.00 sec)mysql> SELECT hello('world');
+----------------+
| hello('world') |
+----------------+
| Hello, world! |
+----------------+
1 row in set (0.00 sec)
private static String PROC_EXEC_SQL="{CALL proc_name(?)}"
Connection con = new Connection();
CallableStatement cstm = con.PrepareCallable(PROC_EXEC_SQL);
cstm.setString(1,"参数值")//这里是假设proc_name(?)存储过程里面的参数是CHAR()类型的,这里是对其预编译赋值。
boolean bl = cstm.execute();//这是取得存储过程被执行后是否有返回结果集组成的结果集包,若有,则bl=true,否则bl=false;
while(bl){
rs = cstm.getResultSet();//取得结果集包中的以个结果集
System.out.println(rs.toString());
bl = cstm.getMoreResultSet();看是否有其他结果集可以从这个结果集包中取得。若能,则bl = true,循环。否则,停止循环。
}
这是科学的调用存储过程并取得结果集的方式、