1

2 時間前までは、手順についてまったく知りませんでした。これまでのところ、クエリ手順は 1 つしか学習していません。しかし、プロシージャで複数のクエリを実行する必要がある場合、2 つのクエリを想定すると、どうすれば実行できますか? 地区テーブルに地区を挿入し、そのテーブルから、今挿入した最後の地区を含むすべての地区名を選択するとします。では、どのように手続きを書けばよいのでしょうか? これが私の選択と挿入のクエリです。私は sqlyog を使用していることを覚えておいてください。私のクエリは以下のとおりです。

クエリを選択>>>

SELECT * FROM district;

クエリを挿入 >>>

INSERT INTO district(district_name) VALUES('District');
4

3 に答える 3

2

本文に1つのステメントを書き込むことができます。この場合、プロシージャは次のようになります(BEGIN ... END句なし)-

CREATE PROCEDURE procedure1()
INSERT INTO table1 VALUES(NULL);

一部のステートメントでは、BEGIN...END句を使用する必要があります-

DELIMITER ||
CREATE PROCEDURE procedure1()
BEGIN
  INSERT INTO table1 VALUES(NULL);
  INSERT INTO table1 VALUES(NULL);
  INSERT INTO table1 VALUES(NULL);
END||

ここに区切り文字に関する記事があります-MySQLの区切り文字とは何ですか?それは何に使用されますか。

于 2013-03-12T11:27:46.797 に答える
1

ストアドプロシージャでは、複数のSQLステートメントを次々に実行できます。このようなプロシージャを作成できます。

CREATE PROCEDURE MyProcedure()
    BEGIN
        INSERT INTO district(district_name) VALUES('District');
        SELECT * FROM district;
    END;
于 2013-03-12T11:27:44.243 に答える
1

mysqlでは、複数のステートメントを;で区切ってprocに入れることができます。

このようなものが機能するはずです:

delimiter //
CREATE PROCEDURE myProc  ( )
BEGIN
    INSERT INTO district(district_name) VALUES('District');
    SELECT * FROM district;
END//
于 2013-03-12T11:28:00.370 に答える