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