ようこそ ゲスト さん、新規登録(無料)して気になる疑問を解決しませんか?

質問

QNo.3499849 Compact Edition でテーブルの存在チェック
質問者:order4649 Visual Studio 2005 (VB) から、
SQL Server 2005 Compact Edition に対し、
テーブルの存在チェックを行いたいのですが、
SQL文の書き方がわかりません。

Compact Edition 以外のSQL Server でしたら、
以下のような SQL でチェックできる事は知っております。

IF object_id('Northwind..Orders', 'U') IS NOT NULL
PRINT N'存在します'
ELSE
PRINT N'存在しません'


例外にて判断する方法は、最後の手段と考えております。

ご存じの方、どうぞ宜しくお願いします。
困り度:
  • 暇なときにでも
質問投稿日時:
07/11/08 12:08
この質問に対する回答は締め切られました。

回答良回答20pt

ANo.1 こんにちは、nas02です。

Visual Studio 2005 のサーバエクスプローラからSQL Server 2005 Compact Edition のDBを接続すると
以下の3つが表示されます。
・テーブル
・システムビュー
・レプリケーション

この中の「システムビュー」に「INFORMATION_SCHEMA.TABLES」があります。
このビューに該当テーブルがあるかチェックすれば良いと思います。
(TABLE_TYPE と TABLE_NAME を抽出条件にすれば良いかと)
回答者:nas02
種類:アドバイス
どんな人:経験者
自信:自信あり
回答日時:
07/11/10 16:29
この回答へのお礼nas02 さま

連絡が遅くなり、どうもすみません。

教えて頂いた方法により、判断する事ができました。



調査するテーブル名を tblEmployee とした場合、

SELECT COUNT(*) FROM INFORMATION_SCHEMA.TABLES WHERE ( TABLE_NAME = 'tblEmployee' ) AND ( TABLE_TYPE = 'TABLE' )

という SQL 文で判断できそうです。


本当に、どうもありがとうございました。