小编The*_*ler的帖子

PostgreSQL将所有值更新为大写的一列

我有一张桌子:客户和列= [名称,姓氏,语言]

我想将所有语言列的值都更新为大写,该怎么办?

我见过upper()方法,但是它用于选择操作。我需要更新。

sql postgresql

5
推荐指数
1
解决办法
1751
查看次数

使用泛型避免未经检查的转换

我想学习更多关于泛型的知识,为此我决定编写一个简单的应用程序.它允许使用检索所有实体的列表CriteriaQuery.

首先,我尝试使用type parameter(T)来生成代码.但是,我的代码甚至不会编译.为什么?

private static <T> List<T> retrieveAllT(Session session, 
    CriteriaBuilder criteriaBuilder, T t) {
        CriteriaQuery<t> query = criteriaBuilder.createQuery(t);
        Root root = query.from(t);
        query.select(root);
        return session.createQuery(query).getResultList();
    }
Run Code Online (Sandbox Code Playgroud)

我想出了另一个解决方案.它工作正常,但编译器告诉我有关未经检查的强制转换.我理解其中的原因,但我想知道是否有可能以更优雅的方式编写这段代码(即没有未经检查的转换)?如果是这样,我该怎么做?

private static List<?> retrieveAll(Session session,
    CriteriaBuilder criteriaBuilder, Class clazz) {
        CriteriaQuery query = criteriaBuilder.createQuery(clazz);
        Root root = query.from(clazz);
        query.select(root);
        return session.createQuery(query).getResultList();
    }
Run Code Online (Sandbox Code Playgroud)

可以肯定的是,我知道@SuppressWarnings("unchecked").

java generics

5
推荐指数
1
解决办法
102
查看次数

单击列表项显示更多信息

我不确定这是怎么称呼所以我拍了一张照片.

我想显示一个用户列表,当有人点击其中一个用户时,下面会显示一些细节.再次点击它应该再次隐藏.理想情况下有一些滑动动画.它不应该覆盖列表的其余部分,所以其他一切都必须向下移动.

我希望你明白我的意思.

有人可以告诉我我应该谷歌或有一个例子吗?

在此输入图像描述

java user-interface android

5
推荐指数
1
解决办法
79
查看次数

Oracle - 部分可为空的复合外键

我有一个旧的 Oracle 数据库,它有一个我想要理解的奇怪的怪癖。它有一个复合外键,其中一些列可以为空。对我来说,这听起来像是一个粗心的开发人员的糟糕设计,但我想征求意见。当然,原来的开发团队早已不复存在。

该表在列方面要大得多,但我认为我能够在下面的示例中提炼问题:

create table quadrant (
  region number(9) not null,
  area number(9) not null,
  caption varchar2(20),
  primary key (region, area)
);

insert into quadrant (region, area, caption) values (10, 123, 'Chicago');
insert into quadrant (region, area, caption) values (10, 125, 'Wisconsin');

create table farm (
  id number(9),
  region_id number(9) not null,
  area_id number(9),
  name varchar2(50),
  constraint fk_region_area foreign key (region_id, area_id)
    references quadrant (region, area)
);

insert into farm (id, region_id, area_id, name) values (5, 10, …
Run Code Online (Sandbox Code Playgroud)

sql oracle foreign-keys

5
推荐指数
2
解决办法
1029
查看次数

在Oracle中插入空字符串

我正在尝试在Oracle的非可空列中插入一个空字符串但是失败了.这是案例:

create table trademark (
  name varchar2(100) not null
);

insert into trademark (name) values ('Kodak');

insert into trademark (name) values (' '); -- one space

insert into trademark (name) values (''); -- empty string
Error: ORA-01400: cannot insert NULL into ("USER1"."TRADEMARK"."NAME")
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

sql database oracle

4
推荐指数
1
解决办法
4323
查看次数

在参数上强制执行子类 Java 类型

有什么方法可以在编译时对参数强制使用子类类型吗?

类似this但不适合实例 - 对于类?

我有课程:

public abstract class Animal {

  public abstract void follow(Animal a); // <-- how to declare it?

}
Run Code Online (Sandbox Code Playgroud)

但我希望子类永远不要使用基类Animal,而只使用它自己(派生类)作为参数:

public class Fish extends Animal {

  @Override
  public void follow(Fish f) { // error here, since it expects Animal
    tagAlong(f);
  }

  private void tagAlong(Fish f) {
    // do something  
  }

}
Run Code Online (Sandbox Code Playgroud)

我希望 aFish仅使用类型的参数Fish,而不是Animal像另一个子类Parrot仅使用Parrot方法上的参数一样follow()

我强烈希望在编译时强制执行此操作,但如果没有其他可能,则运行时是一个(不太理想的)选项。

java generics parameters inheritance

4
推荐指数
1
解决办法
1362
查看次数

如何在 PostgreSQL 中将表设为只读

我需要防止应用程序的核心表中的意外更改。我不希望任何人在应用程序运行期间更改行,但是,我将在部署新版本应用程序期间进行更改。例如:

create table procedure (
  id int primary key not null,
  name varchar(50) not null
);

insert into procedure (id, name) values (1, 'Send Exam Request');
insert into procedure (id, name) values (2, 'Confirm Exam Data');
insert into procedure (id, name) values (3, 'Close Visit');

-- Now, make the table read-only.
Run Code Online (Sandbox Code Playgroud)

太好了,该应用程序的第一个版本现已投入生产,运行良好。

下个月我部署应用程序的下一个版本时:

-- Make the table read-write.

insert into procedure (id, name) values (4, 'Request Visit'); -- new proc
delete from procedure where id = 2; -- remove old …
Run Code Online (Sandbox Code Playgroud)

sql postgresql constraints

4
推荐指数
1
解决办法
6154
查看次数

从Spring REST API返回HTTP代码200

我想使用此代码来接收带有值的http链接:

@PostMapping(value = "/v1/notification")
public String handleNotifications(@RequestParam("notification") String itemid) {
    // parse here the values
    return "result successful result";
}
Run Code Online (Sandbox Code Playgroud)

如何返回http代码200-成功响应?

还有例如,如果代码处理中存在代码异常,我该如何返回错误404

java spring spring-boot

4
推荐指数
4
解决办法
1万
查看次数

如何在MYSQL中对列进行排序

我每行有三个字段,我想将它们连接起来,按升序排列:

select * concat(field1, field2, field3) AS result
from tbl 
Run Code Online (Sandbox Code Playgroud)

我的数据是:

field1, field2, field3
   7       2       9
   4       7       8
   6       3       2 
Run Code Online (Sandbox Code Playgroud)

预期的结果是:

field1, field2, field3   result
  7       2       9       279
  4       7       8       478
  6       3       2       236
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点?

mysql sql sorting

3
推荐指数
1
解决办法
792
查看次数

Mysql创建插入过程语句不完整

我正在尝试为我的数据库编写一些日志过程。我用以下语句创建一个过程:

 create procedure prc_wirte_log (
    in p_schema varchar(255),
    in p_item varchar(255),
    in p_message varchar(255)
)
begin
    insert into weather.log (`schema`, item, message) values (p_schema, p_item, p_message);
end;
Run Code Online (Sandbox Code Playgroud)

我得到错误 Error Code: 1064. You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '' at line 7 0.063 sec

为什么?MySQL Workbench的意思是Incomplet Statment: excepting ;在插入查询之后。

我能做什么?

sql stored-procedures procedure mariadb

3
推荐指数
1
解决办法
2852
查看次数