“修改您的查询以添加一个从新工资中减去旧工资的列。标记该列增加。运行修改后的查询。”
好吧,根据我的解释,我首先尝试通过脚本添加列:
ALTER TABLE EMPLOYEES ADD (
INCREASE2 NUMBER(6));
Run Code Online (Sandbox Code Playgroud)
然后:
INSERT INTO EMPLOYEES(INCREASE2)
SELECT (salary*1.155) - salary FROM EMPLOYEES;
Run Code Online (Sandbox Code Playgroud)
SQL 错误:ORA-01400:não é possível inserir NULL em ("HR"."EMPLOYEES"."EMPLOYEE_ID") 01400. 00000 - "不能将 NULL 插入 (%s)"
"HR"."EMPLOYEES"."EMPLOYEE_ID"
是主键。
我不知道为什么 oracle 不接受我的条目。我尝试通过执行基本插入来检查表达式中是否存在任何语法错误:
INSERT INTO EMPLOYEES(INCREASE2)
VALUES ('whatever');
Run Code Online (Sandbox Code Playgroud)我仍然收到错误。
我尝试然后将该列修改为不为空
ALTER TABLE EMPLOYEES
MODIFY
(INCREASE2 NUMBER(6) NOT NULL);
Run Code Online (Sandbox Code Playgroud)
和:
02296 00000 - “无法启用 (%s.%s) - 找到空值”
*原因:alter table enable 约束失败,因为表
包含不满足约束的值。
*行动:明显
我为这个练习找到了一个简单的解决方案,但我仍然很好奇为什么我的代码没有成功。
解析度:
SELECT employee_id, last_name, salary,
ROUND(salary * 1.155, …
Run Code Online (Sandbox Code Playgroud) 我在 PostgreSQL 表上运行了这个查询:
select * wkt from table where column <>'' and column is not null
Run Code Online (Sandbox Code Playgroud)
..并意外地收到了几行在该列中没有可见值的行。为什么是这样?该列中是否有这些行的“隐藏”值、损坏的表或其他内容?
我有一个从哈希图中获取内容的方法,一个简化的示例(虽然没有多大意义,但目前已经足够好了)是:
private Map<String,String> map = new HashMap<String,String>();
public String get(String key) {
return map.get(key);
}
Run Code Online (Sandbox Code Playgroud)
当给定键的条目明显不存在时,此方法可以返回null。事实是,我想对此方法进行注释@NonNull
(因为它用在了数不胜数的地方,而且我不喜欢Intellij向我发送有关生产NPE的检查警告,因此我不想关闭该检查,我也不想在每次调用此方法时都检查返回的值是否不同于null,这是因为我总是将此方法与始终在映射中的一堆键一起使用,因此由于程序逻辑,该方法是一定要返回一个@NonNull
值。
我很想只用来注释它@NonNull
,但谁知道有人可能用某处定义的键以外的名称来调用它,并实际上导致了NullPointerException。你会怎么做?一个断言听起来很诱人。还是您只是更改方法以引发RuntimException?还是AssertionError?
谢谢。
编辑:
这是实际的实现:
/**
* Typesafe heterogeneous container pattern - implementation
*/
public class HandlersMap {
private final Map<Class<? extends TableHandler>, TableHandler> handlers;
public HandlersMap() {
handlers = new HashMap<Class<? extends TableHandler>, TableHandler>();
putHandler(RolesTableHandler.class, new RolesTableHandler());
putHandler(UsersTableHandler.class, new UsersTableHandler());
putHandler(DevicesTableHandler.class, new DevicesTableHandler());
}
private <T extends TableHandler> void putHandler(@NonNull final Class<T> type, @NonNull final T instance) { …
Run Code Online (Sandbox Code Playgroud) 相信并使用我应该使用哪个 @NotNull Java 注释?,我有一个类,其中某些字段标记为@NotNull
[ package javax.validation.constraints
] 以传递给客户端。该类还为这些字段实现了默认的 getter 和 setter。下面的示例类 -
public class MyClass
{
public MyClass() {
}
@NotNull
private String name;
private Boolean bool;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Boolean isBool() {
return bool;
}
public void setBool(Boolean bool) {
this.bool = bool;
}
}
Run Code Online (Sandbox Code Playgroud)
我对业务逻辑中 getter 的用法感到有些困惑 -
if(new MyClass().getName() !=null) {
//do something
}
Run Code Online (Sandbox Code Playgroud)
这个
null
检查是不是多余的,(如果不是)想知道 …
我试图使用下面的查询更新非空列的值
update Bom set CountryCode=
case
when CurrencyId='CHF' then 'CH'
when CurrencyId='NZD' then 'NZ'
when CurrencyId='KRW' then 'KR'
when CurrencyId='HKD' then 'HK'
when CurrencyId='MXN' then 'MX'
when CurrencyId='USDe' then 'DE'
when CurrencyId='JPY' then 'JP'
when CurrencyId='EUR' then 'DE'
when CurrencyId='DKK' then 'DK'
when CurrencyId='GBP' then 'GB'
when CurrencyId='AUD' then 'AU'
when CurrencyId='RMB' then 'CN'
when CurrencyId='USDu' then 'US'
when CurrencyId='NOK' then 'NO'
when CurrencyId='CAD' then 'CA'
when CurrencyId='USDm' then 'MX'
when CurrencyId='SEK' then 'SE'
when CurrencyId='SGD' then 'SG'
when CurrencyId='TWD' …
Run Code Online (Sandbox Code Playgroud) 我正在查看Guava的Optional类及其理由,我想知道在表示不能为null的值时,类似的类是否快速失败会有所帮助.我找不到任何关于这个想法的讨论,所以我想我会问这里.
我的第一次尝试将尝试保持Guava使用的风格,一个Mandatory<T>
暴露静态工厂of(T t)
.NullPointerException
如果使用null参数调用,则抛出此方法.
我特别感兴趣的是在空处理方面确定接口方法的语义.我认为是否接受空参数是一个应该在接口中可以指定的设计决策,以便可以相应地设计客户端代码并避免重复前置条件检查逻辑.因此,使用此类的接口可能具有类似的方法
fire(Mandatory<Employee> employee);
并且客户可以打电话
fire(Mandatory.of(unfortunateEmployee));
我怀疑强制类型很容易找到使用方面等在调用之前挂钩进一步检查,如果这样的标记方法参数不应该为空是绝对重要的.
我也考虑过基于注释的方法,fire(@NotNull Employee employee)
但是我看到的实现需要额外的验证器连线.
所以,问题......这个想法在任何地方都存在吗?如果没有,我是否错过了一些明显破坏它的东西?或者更好的想法来实现这一目标?
我需要在表中查找所有非空列.例如,我的表格如下
比方说,__CODE__
,__CODE__
和__CODE__
具有非空约束和__CODE__
,__CODE__
并且__CODE__
是可空类型的.在__CODE__
该列表中是否有任何查询非空类型的列名__CODE__
,即我需要获取列名,__CODE__
和__CODE__
.
期望的输出
Column1
Column2
Column3
Run Code Online (Sandbox Code Playgroud)
我知道应该有一个简单的方法来实现这一点,但我是新手__CODE__
.任何帮助将受到高度赞赏.
什么是弹性搜索查询,用于搜索“ field1为null 或 field2为null”的文档。
我正在使用elasticSearch 5.3 ...
所以我正在研究java中的一个项目,我只是一个简单的问题.
我有一个接收字符串的方法,我想剥离空格并检查是不是空的.到目前为止,我有以下的地方,但它似乎没有正常工作.
public static Boolean isValid(String s) {
s.replace(" ", "");
if (s == ""){
return false;
}
else {
return true;
}
}
Run Code Online (Sandbox Code Playgroud)
任何帮助将不胜感激:) Ta
notnull ×9
java ×4
oracle ×2
sql ×2
annotations ×1
constraints ×1
ddl ×1
guava ×1
interface ×1
methods ×1
null ×1
oracle10g ×1
oracle11g ×1
postgresql ×1
string ×1