CREATE VIEW のテーブルの生むチェックについて

解決


MODUS  2007-08-07 04:20:35  No: 137100

SQLサーバーで、「CREATE VIEW」を使用して仮想表を作成していますが、有無チェックを、加えてテーブルがあるときは、「DROP VIEW」で削除をしたいと考えていますが、生むチェックのやり方がわかりません。わかる方力を貸してください。


魔界の仮面弁士  2007-08-07 07:52:16  No: 137101

そういった質問は、VB 系の掲示板ではなく、
SQL Server 系の掲示板に投げるべきかと思いますよ。
(pin's Laboratory とか、PASSJ とか)

VB に関連する話題であれば、ここに投稿するのもよいでしょうけれども、
その場合はせめて、開発環境を明示してください。.NET/VB2005 なのか、
それともVB6 以下なのか、VBScript なのかで、回答も変わってきますし。
(あとは念のため、SQL Server のバージョンも併記すべきかも)

> 生むチェック
有無チェックのことでしょうか?

> 加えてテーブルがあるときは
チェックの対象は、(ビューではなく)テーブルなのですね。

SQL 文で処理するなら、
  select * from sysobjects where ID = object_id('テーブル名')
   and ObjectProperty(ID,'IsUserTable') = 1
のようにすれば、テーブル情報を得られます。

.NET の世界なら、Microsoft.SqlServer.Management.Smo.Database クラスの
Tables プロパティから、テーブルを列挙できます。

ADOX で処理するなら、Catalog オブジェクトの Tables プロパティから、
テーブルを列挙できます。

ADODB で処理するなら、Connection オブジェクトの OpenSchema メソッドに
adSchemaTables を渡せば、テーブル情報を得られます。


MODUS  2007-08-08 04:21:54  No: 137102

魔界の仮面弁士さん、有難うございました。
魔界の仮面弁士さんのアドバイスで解決しました。
また、多大なるご迷惑をおかけしましたことをお詫び申し上げます。


※返信する前に利用規約をご確認ください。




  


  このエントリーをはてなブックマークに追加