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)