SQL Server テーブルの存在確認
SQLServer会議室さん
http://www7.big.or.jp/~pinball/discus/sqls/29827.html
を参考に(というか、ほぼそのまま)・・・。
「example」テーブルの確認だったら・・・
if object_id('example') is not null select 'Found !' else select 'Not Found !'
テーブルが存在する場合、idが何かしら返るので、それを見て判断できる(nullで無ければテーブルは存在する)。
テーブル名は文字で指定する。
DBが違う場合、'DB_NAME.dbo.example'とかってやれば大丈夫。
いつかどこかで、
select id from dbo.sysobjects where id = object_id(N'[dbo].[example]') and OBJECTPROPERTY(id, N'IsUserTable') = 1
というのを発見してメモしておいたのだけど、これだと接続先が同じDBでないとうまくいかなかった。
ちょっと変えて、
select id from DB_NAME.dbo.sysobjects where id = object_id(N'DB_NAME.dbo.example')
とやれば idが引っ張れた。