2010-12-02 14 views

答えて

4
IF (EXISTS (SELECT 1 FROM sys.tables WHERE name = 'table_name')) 
BEGIN 
    -- do stuff 
END 

sys.tablesまた、あなたのテーブル・オブジェクトに関するいくつかの情報を与えることができ、例えばアクセスのための :

これはSQL Serverの

編集です:テーブルを複製またはhas_replication_filter列により作成された場合is_replicated列は、テーブルが

NBを設定し、レプリケーションフィルタを持っている場合を示していますを示しています

SELECT COUNT(*) as Exists from MsysObjects 
WHERE type = 1 
AND name = 'MY_TABLE_NAME' 
+0

それは良いです。しかし、それはSQLの前にあります。 abtにアクセスするには? – william

+1

Googleによると、そのアクセス権はMsysObjectsであると言われています。 http://www.mvps.org/access/queries/qry0002.htmまたはhttp://articles.techrepublic.com.com/5100-10878_11-5047664.html – Skrealin

+1

@william:アクセスバリアントの追加を参照してください。 –

0

SQLおよびアクセスの両方のための

IF OBJECT_ID('table1') IS NOT NULL 
print 'Exists' 
else 
print 'Not Exists' 
+0

これはすべてのRDBMSで動作しますか? –

2

SQLで標準化された方法はないため、plattform固有のコードを記述する必要があります。

私の知る限り、すべてのDBMSはこの機能を何らかの形で持っていますが、大きく異なります。たとえば、Oracleではsys.all_tablesのビューを照会できます。

関連する問題