小编diz*_*iaq的帖子

ORA-30926:无法在源表中获得稳定的行集

我正进入(状态

ORA-30926:无法在源表中获得稳定的行集

在以下查询中:

  MERGE INTO table_1 a
      USING 
      (SELECT a.ROWID row_id, 'Y'
              FROM table_1 a ,table_2 b ,table_3 c
              WHERE a.mbr = c.mbr
              AND b.head = c.head
              AND b.type_of_action <> '6') src
              ON ( a.ROWID = src.row_id )
  WHEN MATCHED THEN UPDATE SET in_correct = 'Y';
Run Code Online (Sandbox Code Playgroud)

我运行table_1它有数据,我也运行内部查询(src)也有数据.

为什么会出现此错误以及如何解决?

oracle sql-merge

124
推荐指数
5
解决办法
37万
查看次数

Oracle SQL:使用Select语句在insert中使用序列

基本上我想运行以下查询:

INSERT INTO historical_car_stats (historical_car_stats_id, year, month, make, model, region, avg_msrp, count)
  SELECT
    my_seq.nextval,
    '2010',
    '12',
    'ALL',
    'ALL',
    region,
    sum(avg_msrp * count) / sum(count),
    sum(count)
  FROM historical_car_stats
  WHERE year = '2010'
        AND month = '12'
        AND make != 'ALL'
  GROUP BY region;
Run Code Online (Sandbox Code Playgroud)

它不起作用,因为"此处不允许序列号"SQL错误.我怎么写这个,以便Oracle让我做我想做的事情?

sql oracle plsql insert sequence

32
推荐指数
2
解决办法
17万
查看次数

WITH子句和子查询之间的区别?

WITH子句和子查询之间有什么区别?

1. WITH table_name as ( ... )

2. select *
    from ( select curr from tableone t1
             left join tabletwo t2
               on (t1.empid = t2.empid)
         ) as temp_table
Run Code Online (Sandbox Code Playgroud)

sql oracle subquery common-table-expression

24
推荐指数
3
解决办法
2万
查看次数

热衷于从 spring 反应式 ClientRequest 获取字符串形式的正文?

在测试方法中的实例org.springframework.web.reactive.function.client.ClientRequest在测试方法中接收 的

我想验证它的 HttpMethod、URI 和正文。

如何获得除了身体以外的一切,这是很明显的。

ClientRequest request = makeInstance(...);

assertEquals(HttpMethod.POST, request.method());
assertEquals("somewhere/else", request.url().toString());

// ? unclear how to extract body using the BodyInserter

BodyInserter<?, ? super ClientHttpRequest> inserter = request.body();

inserter.insert(%outputMessage%, %context%);
Run Code Online (Sandbox Code Playgroud)

我在Spring的源代码中找到了如何测试BodyInserters。或多或少清楚如何创建BodyInserter.Context(第二个参数),但我不明白如何构造第一个参数,因此可以通过它提取请求正文。

请展示一种从实例获取请求正文的传统(或至少可用)方法ClientRequest

java spring reactive-programming spring-webflux

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

Oracle 12在SQL中是否存在本地集合类型的问题?

总而言之,我建议讨论下面你看到的代码.

运行时:

  • Oracle 11编译器引发了兴趣

    "PLS-00306:调用'PIPE_TABLE'时错误的参数数量或类型提示"

    "PLS-00642:SQL语句中不允许本地集合类型"

  • Oracle 12编译了以下软件包而没有这样的警告,但我们在运行时有一个惊喜

    当按原样执行匿名块时 - 一切都很好(我们可能在pipe_table函数中管道一些行- 它不会影响)

    现在让我们取消注释hello;或者调用任何程序,并再次运行更改的anonumous块我们得到"ORA-22163:左手和右手边的集合不是同一类型"

问题是:Oracle 12是否允许SQL中的本地集合类型?如果是,那么代码有PACKAGE buggy_report什么问题?

CREATE OR REPLACE PACKAGE buggy_report IS

  SUBTYPE t_id IS NUMBER(10);
  TYPE t_id_table IS TABLE OF t_id;

  TYPE t_info_rec IS RECORD ( first NUMBER );
  TYPE t_info_table IS TABLE OF t_info_rec;
  TYPE t_info_cur IS REF CURSOR RETURN t_info_rec;

  FUNCTION pipe_table(p t_id_table) RETURN t_info_table PIPELINED;

  FUNCTION get_cursor RETURN t_info_cur;

END buggy_report;
/

CREATE OR REPLACE PACKAGE BODY buggy_report IS

  FUNCTION …
Run Code Online (Sandbox Code Playgroud)

sql oracle collections cursor oracle12c

12
推荐指数
1
解决办法
947
查看次数

当无法连接到Redis时,如何在SpringBoot中设置缓存回退?

有一个SpringBoot(v2.2.7)应用程序,其中配置了Redis缓存

pom.xml 的片段

<dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
<dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-cache</artifactId>
</dependency>
Run Code Online (Sandbox Code Playgroud)

当 Redis 服务启动并可用时,缓存将按预期工作:注释 的方法的结果@Cacheable将被缓存。不幸的是,当 Redis 服务不可用时,任何对可缓存方法的调用都会导致异常RedisConnectionFailureException: Unable to connect to Redis

我想如果应用程序可以独立于缓存可用性工作(执行业务逻辑),这是合理的。

可能的解决方案是:

  1. 自定义实现(即处理 Redis 缓存周围错误的包装器)
  2. Spring中考虑Redis缓存服务健康状况的标准配置(如果有的话)

在 SpringBoot 中设置后备缓存的正确方法是什么?

spring caching redis spring-boot

12
推荐指数
0
解决办法
1591
查看次数

如何从 ServerResponse 获取字符串形式的正文进行测试?

假设我们有一个实例o.s.w.reactive.function.server.ServerResponse.

获取其主体内容的正确方法是什么,换句话说,如何实现fetchBodyAsString功能?

test(){
  ServerResponse response = getResponseFromService("mock data");

  String body = fetchBodyAsString(response);

  assertEquals("hello", body);
}
Run Code Online (Sandbox Code Playgroud)

您能否详细说明一下为什么ServerResponse所有内容都有方法(cookies(), headers(), statusCode()),但响应正文却没有?我想应该有一种方法可以用方法获取主体 writeTo(),尽管如何使用它绝对是模糊的。

java spring server-response reactive-programming spring-webflux

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

如何在执行 Docker 构建时禁用加载元数据?

Windows 10、DockerDesktop v3.5.2、Docker v20.10.7

每当我的计算机与 Internet 断开连接时,
该命令docker build -t my_image .都会生成如下所示的输出。

Dockerfile 包含行FROM some_public_image:123

 => [internal] load build definition from Dockerfile                             0.0s
 => => transferring dockerfile: 187B                                             0.0s
 => [internal] load .dockerignore                                                0.1s
 => => transferring context: 2B                                                  0.0s
 => ERROR [internal] load metadata for docker.io/library/some_public_image:123   0.0s
------
 > [internal] load metadata for docker.io/library/some_public_image:123:
------
failed to solve with frontend dockerfile.v0: failed to create LLB definition:
failed to do request: Head https://registry-1.docker.io/v2/library/some_public_image/manifests/123: 
dial tcp: lookup registry-1.docker.io …
Run Code Online (Sandbox Code Playgroud)

docker docker-build docker-desktop

9
推荐指数
1
解决办法
2385
查看次数

通过java访问oracle sql字段

我已经将oracle连接到我的Java程序,并且它工作正常但它在主键字段上出现问题,当我尝试访问它时会抛出java.sql.SQLException:

select user_id
  from users
 where users.user_name = '"+username+"'
   and `users.user_role = (select user_roles.role_id FROM  user_roles where `user_roles.role_name = '"+role+"')"
Run Code Online (Sandbox Code Playgroud)

在sqlDeveloper中运行时,查询有效.

这是代码:

Statement st = null;
ResultSet rs = null;
Integer userMovedTo = new Integer(0) ;
Integer userMovedBy = new Integer(0);

try {
  st = conn.createStatement();                  
  rs = st.executeQuery(query);
  userMovedTo = rs.getInt("USER_ID");
Run Code Online (Sandbox Code Playgroud)

它给出异常并且不识别该字段USER_ID.

USERS 表格和顺序:

CREATE TABLE Users(
  user_ID       INT          NOT NULL,
  user_name     VARCHAR (20) NOT NULL,
  user_password VARCHAR (20) NOT NULL,
  user_role     INT          NOT NULL, …
Run Code Online (Sandbox Code Playgroud)

java sql oracle sqlexception

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

如何将 Java 17 记录转换为 Clojure 映射?

有一个clojure.core/bean将 POJO 转换为 Map 的标准函数:

class MyPojo{
  public String getFirst(){ return "abc"; }
  public int getSecond(){ return 15; }
}

IFn bean = Clojure.var("clojure.core", "bean")

var result = bean.invoke(new MyPojo())

// result => {:first = abc, :second = 15}
Run Code Online (Sandbox Code Playgroud)

对于 Java 17 记录类,此函数不起作用,因为记录不遵循 POJO"get***"属性约定。

Clojure 是否以同样的方式支持 Java 17 记录实例?

clojure java-record java-17

7
推荐指数
1
解决办法
585
查看次数