2

そのため、ファイルを実行しても作成されないストアド プロシージャがあります。

DELIMITER //

DROP PROCEDURE IF EXISTS msd.test_proc//
CREATE PROCEDURE msd.test_proc()
    BEGIN

        SELECT 
            'Hello proc'
        FROM 
            msd.zipcode_lookup;

    END//
DELIMITER ;

これを実行すると、RazorSQL で実行すると 1 行目にエラー コード 1064 が表示されます。完全なエラー メッセージは次のとおりです。

ERROR: 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 '//
CREATE PROCEDURE msd.test_proc()
BEGIN

    SELECT

        'Hello proc'
    FROM ' at line 1
Error Code:1064

他のバリエーションを試しましたが、それでもエラーが発生します。これは私が見逃している基本的なものだと確信しています。助けていただければ幸いです。

ありがとう。

4

1 に答える 1

3

RazorSQL Web サイトに記載されているとおり:

DELIMITER ステートメントは MySQL 言語の一部ではありません。これは、特定の MySQL ツールでサポートされているコマンドです。このコマンドは、クエリまたはステートメントの終わりを示す特定の文字をスキャンするように MySQL プログラムに指示します。

RazorSQL は、DELIMITER コマンドの使用をサポートしていません。RazorSQL で使用される SQL ステートメントの区切り記号の値は、設定ウィンドウを使用して変更できます。デフォルト値はセミコロンです。

于 2012-05-10T08:03:59.847 に答える