0

sqlfiddleで MySql スキーマ用に次のストアド プロシージャを作成しました。

create procedure foobar(out msg int)
begin
set msg = 100;
end//

を使用して out パラメータにアクセスするクエリを実行すると、

call foobar(@outval);
SELECT @outval;

次のエラーが表示されます

ResultSet は UPDATE からのものです。データなし。

何が間違っているのかわかりません。提案してください。

私はこれを参照として取っていますMySQL create store stored procedure syntax with delimiter

SQL フィドル リンク: http://sqlfiddle.com/#!9/a2182/6

4

1 に答える 1

3

最初にが欠落しているため、次delimiterのようにする必要があります

delimiter //
create procedure foobar(out msg int)
begin
 set msg = 100;
end;//

delimiter ;

これはmysql cliのテストケースです

mysql> delimiter //
mysql> create procedure foobar(out msg int)
    -> begin
    ->  set msg = 100;
    -> end;//
Query OK, 0 rows affected (0.05 sec)
mysql> delimiter ;
mysql> call foobar(@outval);
Query OK, 0 rows affected (0.01 sec)

mysql> SELECT @outval;
+---------+
| @outval |
+---------+
|     100 |
+---------+
1 row in set (0.01 sec)
于 2015-03-13T10:30:17.033 に答える