MySQLストアドプロシージャに実装されているクエリからデータベース名を取得しますか?
データベース名を取得するには、以下の構文を使用します-
select database();
上記の構文をストアドプロシージャに実装しましょう-
mysql> delimiter //
mysql> create procedure get_procedure_database_name()
-> begin
-> select concat('The database name=',database());
-> end
-> //
Query OK, 0 rows affected (0.34 sec)
mysql> delimiter ; これで、CALLコマンドを使用してストアドプロシージャを呼び出すことができます-
mysql> call get_procedure_database_name();
これにより、次の出力が生成されます-
+-----------------------------------------+
| concat('The database name=',database()) |
+-----------------------------------------+
| The database name=web |
+-----------------------------------------+
1 row in set (0.05 sec)
Query OK, 0 rows affected (0.08 sec) -
MySQLストアドプロシージャ内に動的SQLクエリを実装しますか?
ストアドプロシージャでの動的SQLクエリの場合は、PREPARESTATEMENTの概念を使用します。まずテーブルを作成しましょう- mysql> create table DemoTable2033 -> ( -> Id int NOT NULL AUTO_INCREMENT PRIMARY KEY, -> Name varchar(20) -> ); Query OK, 0 rows affected (1.61 sec) 挿入コマンド-を使用して、テーブ
-
検索クエリのMySQLデータベースフィールドタイプ?
以下は構文です- select *from yourTableName where REGEXP_INSTR(yourColumnName,yourSearchValue); 上記の構文を理解するために、最初にテーブルを作成しましょう- mysql> create table demo64 −> ( −> id int not null auto_increment primary key, −> name varchar(40) −> ); Query OK, 0 rows affected (3.06 sec)