2011-08-22 91 views
21

我是Oracle DB的新手,我正在使用Oracle SQL Developer(Ver 3.0.02)来查询数据库。 我想明确地设置一列为空?将列值明确设置为空SQL Developer

如何在SQL Developer GUI中执行此操作?

以前在MSSQL中,单击CTRL + 0将显式将该值设置为null。 Oracle SQL Developer如何? 谢谢

+0

我不确定我是否理解这个问题。你是否试图将列添加到总是NULL的结果集?更新表中的列使其始终为NULL?在特定列中允许NULL值?还有别的吗? –

+0

@Justin我想显式地将列设置为null。说我点击一列,然后将其值明确设置为空。我实际上正在为此寻找一个快捷键。 –

+0

我还不确定我的理解。您是否打算更新表中的列,以便每行中的值为NULL?修改表中的约束以允许列中的NULL值?还有别的吗? –

回答

19

您必须明确地编写SQL DML。 即

UPDATE <table> 
    SET <column> = NULL; 

一旦它完成了,你需要提交您的更新

commit; 

如果你只是想设置某些记录为NULL的UPDATE语句使用WHERE子句。

由于你原来的问题很模糊,我希望这涵盖你想要的。

2

很显然,谁没有使用SQL Server企业管理器不明白的问题(即贾斯汀洞)最多的人。

当我想知道同样的事情时,我遇到了这篇文章。

使用SQL Server时,当您通过MS SQL Server GUI工具编辑数据时,可以使用KEYBOARD SHORTCUT插入NULL而不是仅仅具有EMPTY CELL,因为它们不是一回事。一个空单元格可以有一个空格,而不是NULL,即使它在技术上是空的。不同之处在于,当您有意将一个NULL放入单元格而不是空格或将其清空并且不使用SQL语句来执行时。

所以,问题是真的是,我如何将一个NULL值放入单元格的INSTEAD空间来清空单元格?

我认为答案是,Oracle开发人员GUI的工作方式,正如Laniel在上面所指出的那样,而且应该标记为这个问题的答案。

当您按照op描述的方式清空单元格时,Oracle Developer似乎默认为NULL。

此外,您可以强制Oracle开发人员通过在细胞持有空改变背景颜色的颜色,以进一步证明改变你的空细胞的样子:

工具 - >首选项 - >高级 - >显示null进行背景色

甚至VALUE它表明,当它为空:

工具 - >首选项 - >高级 - >显示空值

希望帮助你转换。

3

使用Shift + Del。

更多信息: 当你用一个值填充一个字段,并且你改变了你的决定并且你想让它为空时,Shift + Del组合键将字段设置为null。这是有用的,我惊讶于其他答案,提供奇怪的解决方案。