0

Ubuntu 12.04、iReport-4.7、MySQL、mysql-jdbcドライバーを使用しています

MySQLでストアドプロシージャを作成します

DELIMITER //
CREATE PROCEDURE first()
BEGIN
select * from person where id in (11,22,33);
END //
DELIMITER;

id&をフィールドとして返しname、iReportから呼び出します

select id+1,name from (call first)

構文エラーが発生します、

Caused by: com.mysql.jdbc.exceptions.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'call first)' at line 1

しかしcall first、クエリエグゼキュータで実行すると、エラーは発生しません

さらに計算するために必要なフィールドを取得するにはどうすればよいですか?これはMS-SQLで可能ですか?

4

1 に答える 1

1

それは不可能。

一時テーブルの使用を検討してください。

この SO 投稿を確認してください: MySql: Can a stored procedure/function return a table?

よろしく

于 2013-01-28T10:25:12.587 に答える