在mysql中我写了存储过程,意图返回一个输出参数是一个游标,然后在盈盈程序里取得这个游标,读取数据记录。
问题是我该如何返回这个游标呢?
DELIMITER //
CREATE PROCEDURE PROC_TEST (OUT CUR CURSOR)
BEGIN
OPEN CUR FOR SELECT * FROM TEST_TABLE;
END;
//
DELIMITER ;这样写可行吗?
我之所以要这么写是为了与ORACLE数据库兼容,所以试图通过游标返回结果集。
问题是我该如何返回这个游标呢?
DELIMITER //
CREATE PROCEDURE PROC_TEST (OUT CUR CURSOR)
BEGIN
OPEN CUR FOR SELECT * FROM TEST_TABLE;
END;
//
DELIMITER ;这样写可行吗?
我之所以要这么写是为了与ORACLE数据库兼容,所以试图通过游标返回结果集。
解决方案 »
- 从A表中取出前100插入到B表中,如何处理?
- Undeclared variable: temp
- mysql接口在vc中实现的问题
- 多表查询去除重复值
- mysql数据移动问题
- mysql 数据库安全问题一问
- 关于MySQL建立数据库和调用数据库的请教!!!急!!!!!!!!!!!!!!!!!!
- 请问大家怎样将2005-05-01转化为20050501 的格式?
- unable to open libsqlmy.so? ---(in linux,kylix),I found it in .../kylix/bin,why can't open???
- 数据库两张表关联查询问题
- 急求一个触发器
- 选择SQL语句问题
MySQL中可以返回一个记录集 , 比如直接 select * from test_table; ,你在程序中直接调这个存储过程,存储过程会返回这些记录集到你的客户端应用程序中。
但无法返回游标。
现在是按ORACLE做的,它返回的结果集是按游标打开的方式返回的,那么MYSQL就要也用这个方式,我知道MYSQL可以直接返回结果集,但现在不能用这个方式,只能让它往ORACLE靠,也用游标返回。所以就有了如今这个问题。
真的没有解决方法吗?
如果是返回给另一存储过程,则可能试一下用临时表来解决,在你的这个proc_test中创建一个临时表供另一个存储过程来使用。 create temporary table xx.....
如果是返回给另一存储过程,则可能试一下用临时表来解决,在你的这个proc_test中创建一个临时表供另一个存储过程来使用。 create temporary table xx.....
这样可以吗