-1

varcharであるすべてのテーブルのすべての列のリストを取得する方法を知っている人はいますか?以下の形式で必要です:

<column_name> <table_name>

私はこれを試しました:

select o.name [TableName], c.name [ColumnName]  from sysobjects o 
inner join syscolumns c on c.id = o.id inner join systypes t 
on t.usertype = c.usertype where o.type = 'U' and o.name in ("MYTABLE")

ただし、上記はすべての列のリストを示しています。方法を見つけることができれば、すべてのテーブル名を最後の中括弧で囲むことができます。

4

1 に答える 1

0

where systypes.name ='varchar'、またはsystypes.type = 39、またはsyscolumn.type = 39を使用して、クエリをvarchar列のみに絞り込むことができます。

select o.name, c.name from sysobjects o, syscolumns c
where o.id = c.id
and c.type = 39
and o.type = "U"
于 2013-03-14T13:39:06.473 に答える