SQL文でテーブルの存在を確認する方法は?
SQLでは、テーブルが存在するかどうかを判断するために以下の2つの方法が利用できます。
- 存在する場合
- ネイティブの日本語で文章を言い換えてください、1つのオプションのみ必要です:
IF EXISTS (SELECT 1 FROM information_schema.tables WHERE table_schema = '<database_name>' AND table_name = '<table_name>')
PRINT 'Table exists'
ELSE
PRINT 'Table does not exist'
このうち、はデータベースの名前、は存在するか判断するテーブルの名前です。
- sys.tables
IF EXISTS (SELECT 1 FROM sys.tables WHERE name = '<table_name>')
PRINT 'Table exists'
ELSE
PRINT 'Table does not exist'
は existenceの判定対象とするテーブル名です。
異なるデータベース管理システムでは上記の2つの方法は少し異なる場合があるので、お使いのデータベース管理システムに応じて適宜調整してください。