データベース内のすべてのテーブルをデータセットに入力する必要があり、各データテーブルには次の列が必要です
- テーブル名
- 列名
- Nullable、
- データ・タイプ
- 最大長
- IsprimaryKey
- IsForeignKey
私は次のことを行いましたが、これによって主キーと外部キーが得られませんでした
SELECT *
FROM INFORMATION_SCHEMA.COLUMNS C
WHERE C.TABLE_SCHEMA='dbo'
ORDER BY C.TABLE_NAME
ジョイントを追加しようとしましたが、間違った結果が得られました
SELECT C.TABLE_SCHEMA,
C.TABLE_NAME,
C.COLUMN_NAME,
C.IS_NULLABLE,
C.DATA_TYPE,
C.CHARACTER_MAXIMUM_LENGTH,
TC.CONSTRAINT_TYPE
FROM INFORMATION_SCHEMA.COLUMNS C
INNER JOIN INFORMATION_SCHEMA.TABLE_CONSTRAINTS TC
ON c.TABLE_NAME=TC.TABLE_NAME
WHERE C.TABLE_SCHEMA='dbo'
ORDER BY C.TABLE_NAME
外部キーのプライマリである場合を含め、テーブルに関する上記のすべての情報を返すにはどうすればよいですか?
どうもありがとう