- 2006年7月10日 13:48
- データベース
データベース内にどんなテーブルが存在するかは、以下のSQLを実行することで得られる。
SELECT NAME, TYPE
FROM sysobjects
ORDER BY TYPE, NAME
所有者もほしいときは、sysusersを結合させて、UID同士を結合させる。
SELECT B.NAME AS OWNER, A.NAME, A.TYPE
FROM sysobjects A JOIN sysusers B ON A.UID = B.UID
ORDER BY A.TYPE, A.NAME
のようにすれば良さそうです。
システムテーブルが邪魔な場合は、
SELECT B.NAME AS OWNER, A.NAME, A.TYPE
FROM sysobjects A JOIN sysusers B ON A.UID = B.UID
WHERE A.TYPE IN('U', 'IF', 'TF', 'V', 'P') AND A.STATUS >= 0
ORDER BY A.TYPE, A.NAME
のような条件をつければいいんじゃないかと思います。
A.TYPE INのあたりは、ストアドまで取れるようにしてますので必要に応じて削ってください。
使う場合は、自己責任でお願いします。
- Newer: 【ASP.NET】JavaScriptとコードビハインド
- Older: System.Data.Common名前空間
Comments:0
Trackbacks:1
- TrackBack URL for this entry
- http://magicbox.sakura.ne.jp/mt/mt-tb.cgi/71
- Listed below are links to weblogs that reference
- 【SQLServer】テーブル一覧の取得 from 爆裂!C#野郎
- スキーマコレクションからテーブル一覧を取得する方法 from 爆裂!C#野郎 2006-08-10 (木) 14:35
- 以前、SQL文を実行してSQLServer上のテーブル一覧を取得する方法を紹介しましたが、今回はスキーマコレクションから取得する方法です。 参考 SqlC...