MySQL 8.0 リファレンスマニュアル MySQL NDB Cluster 8.0 を含む
このページは機械翻訳したものです。
特定のテーブルが通常のテーブル、TEMPORARY テーブルまたはビューとして存在するかどうかをテストします。 このプロシージャは、OUT パラメータでテーブルタイプを戻します。 指定された名前の一時テーブルと永続テーブルの両方が存在する場合は、TEMPORARY が返されます。
in_db VARCHAR(64): テーブルの存在をチェックするデータベースの名前。
in_table VARCHAR(64): 存在をチェックするテーブルの名前。
out_exists ENUM('', 'BASE TABLE', 'VIEW', 'TEMPORARY'): 戻り値。 これは OUT パラメータであるため、テーブル型を格納できる変数である必要があります。 プロシージャが戻ると、変数にはテーブルが存在するかどうかを示す次のいずれかの値が設定されます:
'': テーブル名が実テーブル、TEMPORARY テーブルまたはビューとして存在しません。
BASE TABLE: テーブル名は実 (永続) テーブルとして存在します。
VIEW: テーブル名はビューとして存在します。
TEMPORARY: テーブル名は TEMPORARY テーブルとして存在します。
mysql>CREATE DATABASE db1;Query OK, 1 row affected (0.01 sec) mysql>USE db1;Database changed mysql>CREATE TABLE t1 (id INT PRIMARY KEY);Query OK, 0 rows affected (0.03 sec) mysql>CREATE TABLE t2 (id INT PRIMARY KEY);Query OK, 0 rows affected (0.20 sec) mysql>CREATE view v_t1 AS SELECT * FROM t1;Query OK, 0 rows affected (0.02 sec) mysql>CREATE TEMPORARY TABLE t1 (id INT PRIMARY KEY);Query OK, 0 rows affected (0.00 sec) mysql>CALL sys.table_exists('db1', 't1', @exists); SELECT @exists;Query OK, 0 rows affected (0.01 sec) +-----------+ | @exists | +-----------+ | TEMPORARY | +-----------+ 1 row in set (0.00 sec) mysql>CALL sys.table_exists('db1', 't2', @exists); SELECT @exists;Query OK, 0 rows affected (0.02 sec) +------------+ | @exists | +------------+ | BASE TABLE | +------------+ 1 row in set (0.00 sec) mysql>CALL sys.table_exists('db1', 'v_t1', @exists); SELECT @exists;Query OK, 0 rows affected (0.02 sec) +---------+ | @exists | +---------+ | VIEW | +---------+ 1 row in set (0.00 sec) mysql>CALL sys.table_exists('db1', 't3', @exists); SELECT @exists;Query OK, 0 rows affected (0.00 sec) +---------+ | @exists | +---------+ | | +---------+ 1 row in set (0.00 sec)