반응형

Oracle 34

ORDER BY 절을 사용하거나 사용하지 않는 파티션에 대한 분석 카운트

ORDER BY 절을 사용하거나 사용하지 않는 파티션에 대한 분석 카운트 사용할 때 왜 다른 결과가 나오는지 이해할 수 없습니다.ORDER BY해석상의 절COUNT기능. 간단한 예를 사용하면 다음과 같습니다. with req as (select 1 as n, 'A' as cls from dual union select 2 as n, 'A' as cls from dual) select req.*, count(*) over(partition by cls) as cnt from req; 는 다음과 같은 결과를 제공합니다. N CLS CNT 2 A 2 1 A 2 반면에, 추가할 때는ORDER BY분석 조항에서는 결과가 다릅니다! with req as (select 1 as n, 'A' as cls from du..

programing 2023.09.13

예외 ORA-08103: 최대 절전 모드의 setfetchsize를 사용하는 데 개체가 더 이상 없습니다.

예외 ORA-08103: 최대 절전 모드의 setfetchsize를 사용하는 데 개체가 더 이상 없습니다. Hibernate를 사용하고 있습니다.저는 약 1000000개의 레코드를 가져와야 하는데, 그러면 타임아웃 예외가 발생할 것입니다.그래서 사용하고 있습니다.setfetchsize6000개의 레코드에 대한 작업을 각각의 6000개의 레코드에서 여러 트랜잭션으로 분산합니다. 다 가져가려면 21시간 정도 걸릴 것입니다. 하지만 레코드를 검색하는 동안 누군가가 가져올 레코드 중 하나를 삭제하면 나는 다음과 같이 됩니다.ORA-08103: object no longer exists. 이제 검색하는 동안 삭제된 개체를 건너뜁니다.어떻게 해야 하나요?대부분의 경우 커서는 글로벌 임시 테이블(GTT)을 기반으로 ..

programing 2023.09.03

오라클에서 프로시저 내부에 테이블을 만드는 방법은 무엇입니까?

오라클에서 프로시저 내부에 테이블을 만드는 방법은 무엇입니까? 절차 내부에 표를 작성하려고 합니다.작성 쿼리를 문자열에 넣은 다음 문자열을 즉시 실행하려고 했습니다.예: create or replace procedure hr.temp is var1 varchar2(4000); begin var1:='create table hr.temp( id number)'; execute immediate var1; end temp; 그러나 이 절차를 실행하면 다음과 같은 오류가 발생합니다. ORA-00911: 잘못된 문자 ORA-06512: "SYS"에 있습니다.TEMP", 라인 6 . . . 제가 이걸 할 수 있는 방법이 있을까요?이거 먹어봐요.효과가 있을 겁니다 create or replace procedure ..

programing 2023.09.03

setFetchSize()는 언제 무엇으로 지정해야 합니까?

setFetchSize()는 언제 무엇으로 지정해야 합니까? JDBC/MySQL에 대해 setFetchSize()를 지정하라는 "베스트 프랙티스" 가이드가 많이 보입니다. 그러나 언제, 무엇(문, 결과 집합)을 지정해야 할지 모르겠습니다. Statement.setFetchSize() or PreparedStatement.setFetchSize() ResultSet.setFetchSize() 이 두 가지 중에서 무엇을 지정해야 합니까? javadoc 및 오라클 문서에서 "언제"인지 헷갈리는 부분이 바로 여기에 있습니다. 자바독 기본값은 결과 집합을 만든 문 개체에 의해 설정됩니다.가져오기 크기는 언제든지 변경할 수 있습니다. 오라클 문서 결과 집합이 생성된 후 문 개체의 가져오기 크기를 변경해도 해당 결과..

programing 2023.09.03

JPA - EclipseLink - 기본 스키마를 변경하는 방법

JPA - EclipseLink - 기본 스키마를 변경하는 방법 저는 웹 로직과 오라클을 사용하여 웹 애플리케이션을 프로그래밍하고 있습니다.데이터 소스는 JNDI를 통해 구성되며 테이블에 DML을 넣을 수 있지만 DDL을 할 수 없는 제한된 데이터베이스 사용자를 사용합니다.짐작하시겠지만, 해당 사용자는 해당 테이블의 소유자가 아니지만 액세스 권한이 부여되어 있습니다. 그가 GUSTER_USER라고 가정해 보겠습니다. 응용 프로그램이 JPA + EclipseLink를 사용하고 있으며 이미 많은 엔티티가 정의되어 있습니다.스키마를 변경할 속성을 각 엔티티 클래스에 기록하지 않습니다.이 코드로 세션 커스터마이저를 사용해 보았습니다. public class MyCustomizer implements Sessio..

programing 2023.08.19

Oracle plsql 블록에서 한 줄로 여러 변수를 선언하는 방법

Oracle plsql 블록에서 한 줄로 여러 변수를 선언하는 방법 한 줄로 여러 변수를 선언하고 싶은데 작성할 방법이 없을까요? DECLARE A integer :=10; B integer :=5; BEGIN END; 나는 a와 b를 한 줄로 선언하고 싶습니다. 잘 부탁드립니다.왜 의도적으로 코드를 덜 읽을 수 있게 만들었는지 모르겠지만, 그냥...한 줄로 연결합니다. set serveroutput on DECLARE A integer :=10;B integer :=5; BEGIN dbms_output.put_line(a ||':'|| b); END; / anonymous block completed 10:5 세미콜론은 PL/SQL 내의 문 구분 기호이며 공백이나 새 줄이 있는지 여부는 중요하지 않습니..

programing 2023.08.19

Oracle에서 볼 수 있는 문자열의 실제 길이

Oracle에서 볼 수 있는 문자열의 실제 길이 그래서 Oracle 데이터베이스에 데이터를 저장하려고 합니다.문자열이 있습니다. Väste (어디선가 있는 주의 이름). .length()를 실행하면 5가 되지만 데이터베이스에 저장하면 다음과 같이 됩니다. ORA-12899: value too large for column "dude"."POST_ADR"."STATE_CD" (actual: 6, maximum: 5) 그럼 어떻게 "오라클" 길이를 얻을 수 있을까요?다른 사람들이 보여준 것처럼 Oracle 데이터베이스의 문자 집합을 사용하여 Java 문자열을 바이트 배열로 변환한 다음 이 문자열에서 길이를 바이트 단위로 가져올 수 있습니다.그러나 데이터베이스의 문자 집합이 무엇인지 알고 있어야 합니다. 데이..

programing 2023.08.14

PL/SQL에서 RECORD 컬렉션을 수동으로 초기화하는 방법은 무엇입니까?

PL/SQL에서 RECORD 컬렉션을 수동으로 초기화하는 방법은 무엇입니까? 여러분. 여기 PL/SQL의 간단한 2차원 배열 샘플이 있습니다. 완벽하게 작동합니다. declare type a is table of number; type b is table of a; arr b := b(a(1, 2), a(3, 4)); begin for i in arr.first .. arr.last loop for j in arr(i).first .. arr(i).last loop dbms_output.put_line(arr(i) (j)); end loop; end loop; end; 제가 해야 할 일은 의 표에 대해 비슷한 것을 만드는 것입니다. 다음과 같습니다. type a is record(a1 number, a2..

programing 2023.08.14

Oracle에서 Azure DB의 텍스트 필드로 clob 필드를 내보내는 중 오류 발생

Oracle에서 Azure DB의 텍스트 필드로 clob 필드를 내보내는 중 오류 발생 오라클 테이블에 PDF 파일을 저장하는 CLOB 필드가 있습니다.이 필드를 Azure의 SQL Server Db로 내보내려고 할 때 다음 오류가 발생했습니다. 2017/01/19 11:14:32 - ImpostoRenda 2.0 - ERROR (version 6.1.0.1-196, build 1 from 2016-04-07 12.08.49 by buildguy) : Unexpected batch update error committing the database connection. 2017/01/19 11:14:32 - ImpostoRenda 2.0 - ERROR (version 6.1.0.1-196, build 1 ..

programing 2023.08.04

Oracle에서 오른쪽 괄호가 누락되었다고 생각하는 이유는 무엇입니까?

Oracle에서 오른쪽 괄호가 누락되었다고 생각하는 이유는 무엇입니까? Oracle 10i에서 다음 명령을 실행합니다. ALTER TABLE jnrvwchnglst ADD ( jnrvwchnglst_userid NUMBER(10) NOT NULL DEFAULT 1 ) 네.jnrvwchnglst기존 테이블이며 아니요jnrvwchnglst_userid기존 열이 아닙니다. Oracle 오류 메시지는 다음과 같습니다. ORA-00907: missing right parenthesis 이 쿼리의 문제점과 Oracle에서 괄호가 누락되었다고 생각하는 이유는 무엇입니까?ALTER TABLE jnrvwchnglst ADD ( jnrvwchnglst_userid NUMBER(10) DEFAULT 1 NOT NULL ) ..

programing 2023.08.04
반응형