4

データベースに多数のテーブルがあります。という名前の列を検索してCountryいますが、その列を含むテーブルがわかりません。この列を含むテーブルの名前を見つけるのに役立つ特定のクエリはありますか?

4

5 に答える 5

7

はい、INFORMATION_SCHEMA.COLUMNS を使用できます

SELECT DISTINCT 
   TABLE_NAME 
FROM 
   INFORMATION_SCHEMA.COLUMNS WHERE COLUMN_NAME = 'Country'
于 2012-09-04T09:52:31.123 に答える
4
SELECT t.name AS table_name,
SCHEMA_NAME(schema_id) AS schema_name,
c.name AS column_name
FROM sys.tables AS t
INNER JOIN sys.columns c ON t.OBJECT_ID = c.OBJECT_ID
WHERE c.name LIKE '%ColumnName%'
ORDER BY schema_name, table_name;

ColumnName実際の列名に置き換えます

于 2012-09-04T09:52:59.040 に答える
2
select distinct table_schema, table_name from information_schema.columns where table_name = 'Country';
于 2012-09-04T09:57:00.307 に答える
1

このような情報は、INFORMATION_SCHEMA.COLUMNS

USE YourDBName;
SELECT DISTINCT Table_Name
FROM INFORMATION_SCHEMA.COLUMNS
WHERE Column_Name = 'Country';
于 2012-09-04T09:52:53.083 に答える
0

複数のテーブル (例: 3 つのテーブル) で like 演算子を使用して列名を検索する場合は、次のクエリを実行します。

select COLUMN_NAME, TABLE_NAME 
from ALL_TAB_COLUMNS 
where TABLE_NAME in ('SIL_RLS_UPLOAD_TMP','SIL_CUSTOMER_MST','SIL_PERSONAL_CUSTOMER_MST')
      and upper(column_name) like upper('%loan%');

すべてのテーブルで like 演算子を使用して列名を検索する場合は、次のクエリに進みます。

select * 
from all_tab_columns 
where upper(column_name) like upper('%card%');
于 2016-04-28T12:01:09.900 に答える