MySQL
 Computer >> コンピューター >  >> プログラミング >> MySQL

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)

  1. 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) 挿入コマンド-を使用して、テーブ

  2. 検索クエリの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)