Oracle SQL Developer编辑字段

4
我最近试用过32位的Oracle SQL开发者2.11和3 EA 2版本(我也试过2.11 64位版本)。一个让我十分苦恼的问题就是在数据视图中,我似乎无法直接编辑MYSQL数据库中的字段数据,但我可以通过SQL操作来操纵数据,所以这不是权限问题。
请问有人能告诉我如何启用此功能,使我能够单击字段并进行编辑。我确定从YouTube视频上看到这是可能的,但这些演示是使用Oracle,因此我想知道这是否是MySQL的限制?有人知道吗?
PS:我在MS Access数据库中也遇到了同样的问题。
1个回答

3

我认为这是一种限制。

Oracle表有一个内置的标识符叫做ROWID,它对于表中的任何记录都是唯一的。因此,数据浏览器可以提取出每行正在显示的ROWID。当您将列'pet'从'CAT'更改为'DOG'时,它只是生成一个UPDATE table SET PET='DOG' WHERE ROWID = ....

这有一些问题(例如具有精细的访问控制/行级安全性的表),因此它甚至不适用于Oracle表。

从技术上讲,可以通过确定主键列来实现相同的效果,但这需要强制执行主键约束,因此排除了可更新视图。然后还有一个麻烦的问题,即确定哪些列是主键列并使用这些值(数据类型等)。简而言之,在幕后进行了大量额外的工作,所有这些都是特定于数据库的,因此我不惊讶该功能尚未开发。


只是提醒一下,SQL Developer也使用ORA_ROWSCN来尝试猜测在你提交更改之前是否有其他人更改了你的数据。这是一种很酷的方式,可以检查是否有多个人同时编辑同一件事情。但不幸的是,ORA_ROWSCN可能会因访问路径而改变,所以当你是唯一更改数据的人时,经常会出现并发错误。我几年前就提交了一个错误报告,不知道它是否已经修复。</rant> - Jon Heller
非常感谢。实际上我并不使用Oracle,我正在寻找一个主要用于MYSQL的工具,但我认为我已经找到了一个很棒的通用工具。在测试/编写例程时,我喜欢直接编辑字段,而不使用SQL,然后再进行更严格的TDD和BDD测试。 - user427165
1
我想我会使用MYSQL Workbench。 - user427165

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接