3

Pervasive データベースのすべてのテーブルのすべての列で特定の値を検索するクエリを持っている人はいますか?

これに関する情報を見つけるのに苦労しています。

SQL サーバーでは簡単に実行できますが、Pervasive では実行できません。

4

2 に答える 2

2

-- テーブル名でソートされたすべてのテーブルのリストを返します: Select * from X$File order by xf$name

-- 「Person」というテーブルのすべての列とその属性のリストを (順番に) 返します。 'Person' および xe$DataType < 200 order by xe$offset

ある種のストアド プロシージャを使用して、それらすべてを実行できます。これは、ガイドとして使用できる SQL サーバーのストアド プロシージャです。

http://vyaskn.tripod.com/search_all_columns_in_all_tables.htm

于 2014-02-06T16:15:32.793 に答える
2

ストアド プロシージャは必要ありません。このクエリでそれを行うことができます:

select x$file.xf$name, X$Field.* from X$Field, X$File 
where xe$File = xf$id and 
xe$DataType < 200 
and xe$name = '<Column Name>'
order by xe$offset

探している列の名前に変更します。
たとえば、「Name」という名前の列を検索するには、次のステートメントを使用します。

select x$file.xf$name, X$Field.* from X$Field, X$File 
where xe$File = xf$id and 
xe$DataType < 200 
and xe$name = 'Name'
order by xe$offset

結果は次のとおりです。

Xf$Name                 Xe$Id   Xe$File   Xe$Name                Xe$DataType   Xe$Offset   Xe$Size   Xe$Dec   Xe$Flags
====================   ======   =======   ====================   ===========   =========   =======   ======   ========
Course                     86        13   Name                             0           0         7        0          1
Dept                       92        14   Name                             0           0        20        0          1
Class                      68        12   Name                             0           4         7        0          1
于 2014-02-06T19:07:33.560 に答える