SQLサーバーで列の種類を取得しようとしています。 フルテーブルパス名を使用して列の種類を取得
SELECT DATA_TYPE
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = 'table_name' and COLUMN_NAME = 'column_name';
しかし、それは
SELECT DATA_TYPE
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = '[database_name].[dbo].[table_name]' and COLUMN_NAME = 'column_name';
これは、異なるデータベースにあるストアドプロシージャの一部であり、私のことができるようにしたいと思いますでは動作しません:私はこれがうまく機能することを知っています完全なパス名を渡して、私が入っているどのデータベースからでも実行できるようにしてください。
テーブル名は、スキーマとデータベースのない名前です。 'INFORMATION_SCHEMA'はデータベース内(サーバではない)なので*あなたが望むことはできません。 'OBJECT_ID'が役に立ちます。 –
あなたが望むデータベースから 'INFORMATION_SCHEMA.COLUMNS'ビューを問い合わせる必要があります:' FROM database_name.INFORMATION_SCHEMA.COLUMNS WHERE .... ' – Lamak