MySQL
 Computer >> コンピューター >  >> プログラミング >> MySQL

MySQLテーブルに値を挿入するためのストアドプロシージャを作成するにはどうすればよいですか?


IN演算子を使用してストアドプロシージャを作成し、MySQLテーブルに値を挿入できます。理解できるように、次のデータを持つ「student_info」という名前のテーブルの例を取り上げています-

mysql> Select * from student_info;
+------+---------+-----------+------------+
| id   | Name    | Address   | Subject    |
+------+---------+-----------+------------+
| 100  | Aarav   | Delhi     | Computers  |
| 101  | YashPal | Amritsar  | History    |
| 105  | Gaurav  | Jaipur    | Literature |
| 110  | Rahul  | Chandigarh | History    |
+------+---------+------------+------------+
4 rows in set (0.00 sec)

これで、次のように「insert_studentinfo」という名前のプロシージャを作成することで、「student_info」テーブルに値を挿入できます-

mysql> DELIMITER // ;
mysql> Create PROCEDURE insert_studentinfo(IN p_id int, IN p_name varchar(20),IN p_Address Varchar(20), IN p_subject Varchar(20))
    -> BEGIN
    -> insert into student_info(id, name, address, subject) values (p_id, p_name,p_address, p_subject);
    -> END //
Query OK, 0 rows affected (0.09 sec)

次に、テーブルに挿入する値を使用して、次のようにプロシージャを呼び出します-

mysql> CALL insert_studentinfo(125,'Raman','Bangalore','Computers')//
Query OK, 1 row affected (0.78 sec)

mysql> DELIMITER ; //

mysql> Select * from Student_info;
+-----+---------+------------+------------+
| id  | Name    | Address    | Subject    |
+-----+---------+------------+------------+
| 100 | Aarav   | Delhi      | Computers  |
| 101 | YashPal | Amritsar   | History    |
| 105 | Gaurav  | Jaipur     | Literature |
| 110 | Rahul   | Chandigarh | History    |
| 125 | Raman   | Bangalore  | Computers  |
+------+---------+------------+-----------+
5 rows in set (0.00 sec)

上記の結果セットは、値がテーブルに挿入されることを示しています。


  1. SHOW CREATE TABLEを実行するためのMySQLストアドプロシージャ?

    ストアード・プロシージャーでSHOW CREATE TABLEを実行するには、SHOWCREATETABLEを使用します。まずテーブルを作成しましょう- mysql> create table DemoTable2011    -> (    -> StudentId int NOT NULL AUTO_INCREMENT,    -> StudentName varchar(20),    -> StudentAge int,    -> StudentCo

  2. MySQLストアドプロシージャで区切り文字を正しく使用して値を挿入するにはどうすればよいですか?

    まずテーブルを作成しましょう- mysql> create table DemoTable2028    -> (    -> StudentFirstName varchar(20),    -> StudentLastName varchar(20)    -> ); Query OK, 0 rows affected (0.87 sec) これは、ストアドプロシージャを作成し、値を挿入するためのクエリです(区切り文字を正しく使用して)- mysql> delimiter