MySQL では、FROM 句で select from プロシージャを使用できません。 CALL コマンドを使用してから、SELECT ステートメントを実行できます。
最初にテーブルを作成しましょう:
mysql> create table DemoTable2 -> ( -> CustomerId int NOT NULL AUTO_INCREMENT PRIMARY KEY, -> CustomerName varchar(100), -> ShippingDateTime datetime -> ); Query OK, 0 rows affected (0.66 sec)
以下はストアド プロシージャを作成するためのクエリです:
mysql> DELIMITER // mysql> CREATE PROCEDURE insert_information(Name varchar(100),shippingtime datetime) -> BEGIN -> -> INSERT INTO DemoTable2(CustomerName,ShippingDateTime) VALUES(Name,shippingtime); -> END -> // Query OK, 0 rows affected (0.16 sec) mysql> DELIMITER ;
これで、call コマンドを使用してストアド プロシージャを呼び出すことができます。
mysql> call insert_information('Chris',NOW()); Query OK, 1 row affected, 1 warning (0.15 sec)
次のクエリは、ストアド プロシージャを呼び出した後、select ステートメントを使用してテーブル内のレコードを表示します。
mysql> select *from DemoTable2;
これにより、次の出力が生成されます
+------------+--------------+---------------------+ | CustomerId | CustomerName | ShippingDateTime | +------------+--------------+---------------------+ | 1 | Chris | 2019-04-08 15:03:07 | +------------+--------------+---------------------+ 1 row in set (0.00 sec)
以上がMySQLでselectステートメントを使用してストアドプロシージャを呼び出すにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。