Pervasive データベースのすべてのテーブルのすべての列で特定の値を検索するクエリを持っている人はいますか?
これに関する情報を見つけるのに苦労しています。
SQL サーバーでは簡単に実行できますが、Pervasive では実行できません。
-- テーブル名でソートされたすべてのテーブルのリストを返します: 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
ストアド プロシージャは必要ありません。このクエリでそれを行うことができます:
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