获取列名称&表名来自值

时间:2012-07-11 05:07:17

标签: sql sql-server

其实我有一个新客户&他们的数据库没有标准的命名约定&应用程序是在经典的asp.I有一个表单,其中一个表单在不同的文本框中有很多值,它很难跟踪来自哪个表的值。&也没有错误。

我需要一个查询,通过给出Value,我可以从中获取带有列名的表名。

假设我的标签名称为abc#=' 6599912268 '

&安培;新项目没有ERD没有命名惯例的标准......我需要一种快速的方法来了解abc#=' 6599912268 '正在从哪个表&哪个列名....就像这样,UI有很多值,这是手动跟踪的时间

有没有办法追踪它?

3 个答案:

答案 0 :(得分:0)

简单的答案是否定的。仅通过检查值就无法跟踪它来自的表/列。 我建议如下 找出您的产品使用的数据库类型。如果它位于何处,您是否可以访问它 如果您有权访问数据库,请了解数据库结构。每个表的存储内容,关系等。与数据库管理员或业务部门联系,以增加您对产品域的了解。 获得db结构后,尝试将表与页面进行比较。例如。用户详细信息最喜欢存储在名为“Users”或“Membership”的db表中,以便收集我的漂移吗?

然后看看网站的源代码。查看您所在的特定页面。 sql代码是嵌入在源代码(asp页面)中还是调用COM服务器或类似的东西?如果你是“幸运的”(我说你的问题是幸运的话),你可以在asp页面找到sql代码。
如果它调用COM对象或类似的东西,那么你将不得不挖掘它的源代码,这很可能是你的sql驻留的地方。

答案 1 :(得分:0)

没有简单的方法,你必须使用存储过程遍历数据库中的所有表并搜索值,这可能需要一段时间。

这里有一个存储过程和示例:Search all columns in all the tables in a database for a specific value。您将看到存在用于查找日期,字符串,数字的存储过程。

答案 2 :(得分:0)

不可能,如果您使用值搜索列,则可能会获得具有相同值的多个列,因此您将如何区分它们,并且表格的情况相同。