【发布时间】:2012-03-05 20:12:42
【问题描述】:
我正在尝试将数据集从 Toad 导出到 Excel(或文本分隔文件)。我需要ROWID 显示在结果文件中。
我在视图 >> Toad 选项 >> 数据网格 >> 数据中选择了“在可编辑网格中显示 ROWID”。
ROWID 显示在 Toad 模式浏览器的“数据”选项卡中。
当我从模式浏览器运行导出数据时;在 Dataset 选项卡下,ROWID 正在 SQL 语句中显示。
但是当我导出数据集时,我没有在结果(输出)文件中看到 ROWID。
我正在运行 Toad 10.5.0.41。
关于我缺少什么的任何建议?
提前致谢,
马旺
【问题讨论】:
-
我刚刚想通了,所以我想我会与大家分享答案。单击查看/编辑查询,然后修改 SQL 查询,使
ROWID具有别名,例如:SELECT ROWID as ROWID_COL, FIRST_COL FROM TABLE_NAME当通过导出数据集按钮导出数据时,ROWID 将包含在结果文件中。我希望这会有所帮助。 -
只是好奇,为什么要导出 ROWID?
-
@Jeffrey - 我被要求比较两个表(没有主键)的差异。我认为我可以通过
ROWID对表进行排序,以便匹配不同表中的列。但这行不通,因为表的行数不同。如果有人对如何解决这个问题有任何提示或想法,那么我将不胜感激。提前致谢。 -
ROWID是指向表中特定行的内部指针。如果您要查询两个表,根据定义,每个ROWID将是不同的,您无法比较它们。至于比较方法:可能最简单的方法是计算每一行的哈希值,然后在两个表之间进行 FULL OUTER JOIN 以查找匹配和不匹配的行。 -
@JeffreyKemp - 我将尝试 FULL OUTER JOIN,但我不确定此时哈希对我有何帮助,因为我似乎找不到任何有助于区分行的值.在数据集中返回后,我使用
ROWID来识别行。感谢您的信息和建议,我会尽力跟进。