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

テーブルに値を挿入するMySQLストアド関数を作成するにはどうすればよいですか?


私たちが知っているように、関数は結果を返したいときに最もよく使われます。したがって、値の挿入や更新などのテーブルを操作するためのストアド関数を作成する場合、それは多かれ少なかれストアドプロシージャのようになります。

次の例では、「student_marks」という名前のテーブルに値を挿入する「tbl_insert」という名前のストアド関数を作成しています。

mysql> Create Function tbl_insert(S_name Varchar(50),M1 INT,M2 INT,M3 INT,M4 INT)
    -> RETURNS INT
    -> DETERMINISTIC
    -> BEGIN
    -> INSERT INTO student_marks values(S_name,M1,M2,M3,M4);
    -> RETURN 1;
    -> END//
Query OK, 0 rows affected (0.00 sec)

mysql> Select tbl_insert('Saurabh',85,79,65,71);
+------------------------------+
| tbl_insert('RR',58,25,65,32) |
+------------------------------+
|                            1 |
+------------------------------+
1 row in set (0.07 sec)

mysql> Select * from student_marks;
+---------+------+---------+---------+---------+
| Name    | Math | English | Science | History |
+---------+------+---------+---------+---------+
| Raman   |   95 |      89 |      85 |      81 |
| Rahul   |   90 |      87 |      86 |      81 |
| Mohit   |   90 |    NULL |      86 |      81 |
| Saurabh |   85 |      79 |      65 |      71 |
+---------+------+---------+---------+---------+
4 rows in set (0.00 sec)

  1. MySQL関数からテーブルを返す方法は?

    MySQL関数からテーブルを返すことはできません。この関数は、文字列、整数、文字などを返すことができます。MySQLからテーブルを返すには、関数ではなくストアドプロシージャを使用します。 まずテーブルを作成しましょう- mysql> create table DemoTable696 (    Id int,    Name varchar(100) ); Query OK, 0 rows affected (0.77 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into De

  2. MySQLテーブルから3つのランダムな値を表示する方法は?

    ランダムにはRAND()を使用しますが、値の数にはLIMIT 3、つまりここでは3を使用します- select yourColumnName from yourTableName order by rand() limit 3; まずテーブルを作成しましょう- mysql> create table DemoTable646 (    Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,FirstName varchar(100) ); Query OK, 0 rows affected (0.76 sec) 挿入コマンド-を使用