MySQLストアドプロシージャを介してテーブルにアクセスするにはどうすればよいですか?
MySQLストアドプロシージャから1つまたはすべてのテーブルにアクセスできます。以下は、テーブルの名前をパラメーターとして受け取り、それを呼び出した後、テーブルのすべての詳細を含む結果セットを生成するストアドプロシージャを作成した例です。
mysql> Delimiter //
mysql> Create procedure access(tablename varchar(30))
-> BEGIN
-> SET @X := CONCAT('Select * from',' ',tablename);
-> Prepare statement from @X;
-> Execute statement;
-> END//
Query OK, 0 rows affected (0.16 sec) 次に、テーブル名を使用してプロシージャを呼び出します。パラメータとしてアクセスする必要があります。
mysql> Delimiter ;
mysql> Call access('student_info');
+------+---------+----------+------------+
| id | Name | Address | Subject |
+------+---------+----------+------------+
| 101 | YashPal | Amritsar | History |
| 105 | Gaurav | Jaipur | Literature |
| 125 | Raman | Shimla | Computers |
+------+---------+----------+------------+
3 rows in set (0.02 sec)
Query OK, 0 rows affected (0.04 sec) -
2つのMySQLテーブルをマージするにはどうすればよいですか?
2つのMySQLテーブルをマージするには、次の構文を使用します- INSERT IGNORE INTO yourTableName1 select *from yourTableName2; いくつかのレコードを含む2つのテーブルを作成します。その後、マージプロセスは上記の構文の使用を開始します。 最初のテーブルの作成- mysql> create table MergeDemo1 -> ( -> id int, -> primary key(id), -> Name varchar(200) -> ); Query OK,
-
MySQLのすべてのストアドプロシージャにアクセスすることをユーザーに許可するにはどうすればよいですか?
まず、MySQL.user-テーブルのすべてのユーザーとホストを表示しましょう。 mysql> select user,host from Mysql.user; これにより、次の出力が生成されます- +------------------+-----------+ | user | host | +------------------+-----------+ | Bob &n