是否有人有查询来搜索 Pervasive 数据库中所有表中的所有列以获取特定值?
我正在努力寻找有关此的任何信息。
在 sql server 中似乎很容易做到,但在 Pervasive 中则不然。
您不需要存储过程。你可以用这个查询来做到这一点:
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
--返回按表名排序的所有表的列表: Select * from X$File order by xf$name
--返回一个名为“Person”的表的所有列(按顺序)及其属性的列表:select X$Field.* from X$Field, X$File where xe$File = xf$id and xf$name = 'Person' 和 xe$DataType < 200 按 xe$offset 排序
您可以使用某种存储过程来运行它们。这是一个 SQL Server 存储过程,您可以将其用作指南。
http://vyaskn.tripod.com/search_all_columns_in_all_tables.htm