在 MySQL 中僅使用一次儲存過程呼叫就能在兩個表中插入值
以下列出了使用儲存過程在兩個表中插入值的語法 −
DELIMITER // CREATE PROCEDURE yourProcedureName(anyVariableName int) BEGIN insert into yourTableName1(yourColumnName1) values(yourVariableName); insert into yourTableName2(yourColumnName2) values(yourVariableName); END //
首先讓我們建立一個表 −
mysql> create table DemoTable1 -> ( -> StudentScore int -> ); Query OK, 0 rows affected (0.58 sec)
以下是第二個表 −
mysql> create table DemoTable2 -> ( -> PlayerScore int -> ); Query OK, 0 rows affected (0.52 sec)
以下是對兩個表建立儲存過程並插入值的查詢 −
mysql> DELIMITER // mysql> CREATE PROCEDURE insert_proc(value int ) -> BEGIN -> insert into DemoTable1(StudentScore) values(value); -> insert into DemoTable2(PlayerScore) values(value); -> END -> // Query OK, 0 rows affected (0.16 sec) mysql> DELIMITER ;
現在你可以使用 CALL 命令呼叫儲存過程 −
mysql> call insert_proc(89); Query OK, 1 row affected (0.29 sec)
使用 select 語句顯示兩個表中的所有記錄 −
mysql> select * from DemoTable1333; +--------------+ | StudentScore | +--------------+ | 89 | +--------------+ 1 row in set (0.00 sec) mysql> select * from DemoTable1334; +-------------+ | PlayerScore | +-------------+ | 89 | +-------------+ 1 row in set (0.00 sec)
廣告