1. ホーム
  2. sql

[解決済み] データベース内のテーブルとフィールドの一覧の取得

2023-03-10 07:52:31

質問

私は基本的な ORM (純粋に楽しむためのもの) を作成することを検討しています。

これを使用して、私は(C#で)結果セットをループし、そして結果セットの各テーブルについて、これを行う(例えば、xyzを行うか含むクラスを作るために反射を使用する)ことができるようにしたいです。

さらに、SQL Server のための良いオンラインブログは何ですか?私はこの質問が本当にSQL ServerでシステムSPとデータベースを使用することについてであり、私は一般的なクエリでOKなので、私はこの種の機能をカバーするいくつかのブログに興味があります。

ありがとうございます。

どのように解決するのですか?

これはあなたが探しているものです。

OBJECT CATALOG VIEWSを使用する。

 SELECT T.name AS Table_Name ,
       C.name AS Column_Name ,
       P.name AS Data_Type ,
       P.max_length AS Size ,
       CAST(P.precision AS VARCHAR) + '/' + CAST(P.scale AS VARCHAR) AS Precision_Scale
FROM   sys.objects AS T
       JOIN sys.columns AS C ON T.object_id = C.object_id
       JOIN sys.types AS P ON C.system_type_id = P.system_type_id
WHERE  T.type_desc = 'USER_TABLE';

情報スキーマビューの使用法

  SELECT TABLE_SCHEMA ,
       TABLE_NAME ,
       COLUMN_NAME ,
       ORDINAL_POSITION ,
       COLUMN_DEFAULT ,
       DATA_TYPE ,
       CHARACTER_MAXIMUM_LENGTH ,
       NUMERIC_PRECISION ,
       NUMERIC_PRECISION_RADIX ,
       NUMERIC_SCALE ,
       DATETIME_PRECISION
FROM   INFORMATION_SCHEMA.COLUMNS;

参考:私のブログ http://dbalink.wordpress.com/2008/10/24/querying-the-object-catalog-and-information-schema-views/