将列值明确设置为null SQL Developer

44

我是Oracle DB的新手,正在使用Oracle SQL Developer(版本3.0.02)查询数据库。 我想明确将一个列设置为null?

我该如何在SQL Developer GUI中实现呢?

以前在MSSQL中,单击CTRL + 0会将值明确设置为null。 Oracle SQL Developer怎么样? 谢谢


我不确定我理解这个问题。您是想向结果集添加一个始终为NULL的列吗?更新表中的列,使其始终为NULL?允许特定列中的NULL值?还是其他什么? - Justin Cave
@Justin 我想明确地将列设置为 null。比如我点击一列,然后将其值明确地设置为 null。我正在寻找一个此操作的快捷键。 - Mark Estrada
我仍然不确定我理解了。你的意图是更新表中的列,使每行中的值为空吗?修改表中的约束条件以允许在列中使用 NULL 值?还是其他什么? - Justin Cave
4个回答

42

你需要明确地自己编写SQL DML。

UPDATE <table>
   SET <column> = NULL;

完成后,您需要提交您的更新。

commit;

如果你只想将某些记录设置为NULL,请在UPDATE语句中使用WHERE子句。

由于你的原始问题比较模糊,我希望这可以涵盖你想要的内容。


21

你需要按下Ctrl+Shift键来删除行。 - cнŝdk

13

使用Shift+Del。

更多信息: Shift+Del组合键在您填写字段并更改决定,想要将其设置为null时,将该字段设置为null。这很有用,我对其他给出奇怪解决方案的答案感到惊讶。


也许在2011年这个组合还不可用,但是今天这应该是正确的答案。 - Alexander
@Alexander 我想我已经用 SQL Developer 3.0 测试了我的答案。 - Mostafa Vatanpour

4
很明显,大多数没有使用SQL Server Enterprise Manager的人不理解这个问题(即Justin Cave)。当您通过MS SQL Server GUI工具编辑数据时,可以使用键盘快捷方式插入NULL,而不是仅仅留空单元格,因为它们并不相同。即使技术上为空,空单元格中也可以有一个空格,而不是NULL。区别在于,当您有意想要在单元格中放置NULL而不是空格,或者将其清空而不使用SQL语句时。因此,实际上问题是,如何在单元格中放置NULL值,而不是将其置为空格?我认为答案是,Oracle Developer GUI的工作方式就像Laniel上面指出的那样,这应该被标记为这个问题的答案。当您按照op所描述的方式清空一个单元格时,Oracle Developer似乎默认为NULL。此外,您还可以通过更改背景颜色来强制Oracle Developer更改null单元格的外观,以进一步说明单元格是否为空:工具->首选项->高级->使用背景颜色显示Null,甚至当它为null时显示的值:工具->首选项->高级->将Null值显示为。希望这些能帮助您过渡。

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