17

SQL フィドルはトリガー/ストアド プロシージャの実行を容易にしますか?

sqlfiddle でストアド プロシージャの最も単純な形式でさえ実行できませんでした。

DELIMITER $$
DROP PROCEDURE IF EXISTS myProc $$

CREATE PROCEDURE myProc()
BEGIN

END$$
DELIMITER ;

Sqlfiddle は、ビルド スキーマでこの (上記の) SQL を実行することを許可しませんが、テーブルの作成などは許可します

注: mysql 5.5.24でwampを使用して、ローカルホストで同じ構文が機能しています

誰でもガイドしてもらえますか?

4

1 に答える 1

46

delimiter オプション (実際の SQL ステートメントではなく、mysql コマンド プロンプトのコマンドにすぎません) を使用する代わりに、SQL Fiddle で "Query Terminator" オプションを使用して、区切り文字を確立します。

例えば:

http://sqlfiddle.com/#!2/88fcf

//スキーマ ボックスの下のドロップダウンに注意してください。これは、mysql DELIMITER コマンドに相当する SQL Fiddle です。

ストアド プロシージャ内のクエリを使用した長い例 (ストアド プロシージャ内で;は、区切り文字として引き続き使用されることに注意してください):

http://sqlfiddle.com/#!9/4db78

完全な開示: 私は SQL Fiddle の作成者です。

于 2012-08-28T20:15:17.470 に答える