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