Oracle 49

열에 대한 최소 길이 제약 조건

열에 대한 최소 길이 제약 조건 오라클에서 최소 길이 제약을 구현하려고 합니다. 이 답변과 다른 여러 유사한 질문을 읽으며 다음과 같이 시도했습니다. ALTER TABLE my_table ADD CONSTRAINT MY_TABLE_PASSWORD_CK CHECK (DATALENGTH(password) >=4) 그리고 나는."DATALENGTH": invalid identifier". 저도 해봤습니다. ( DATALENGTH([password]) >=4 ) ( LEN([password]) >=4 ) ( LEN(password) >=4 ) Oracle에서 이 검사 제약 조건에 대한 현재 형식은 무엇입니까?DATALENGTH()SQL Server에서 바이트 단위의 길이를 반환합니다.동등한 Oracle 함수는L..

source 2023.11.06

Oracle 연결 압축?

Oracle 연결 압축? JDBC를 이용해 오라클 11g에 연결하는 애플리케이션이 있습니다.유감스럽게도 제 앱이 실행 중인 기계와 오라클 기계가 다소 낮은 대역폭 연결을 통해 연결되어 있습니다.연결을 스니핑하지는 않았지만, 연결을 통해 스트리밍되는 데이터가 압축되지 않은 것은 확실합니다.애플리케이션의 경우 지연 시간보다 대역폭이 더 중요합니다. JDBC 드라이버와 Oracle에게 연결을 통해 전송되는 데이터를 압축하도록 지시할 방법이 있습니까?구글은 데이터 파일 압축에 대해 많은 답을 내놓지만, 저는 네트워크 프로토콜 압축에 대해 아무것도 찾을 수 없었습니다. Oracle의 Thin 드라이버를 사용하고 있지만 OCI 드라이버에서만 지원되는 경우에는 OCI 드라이버로 전환할 수 있습니다.어떤 제안이든 감사..

source 2023.11.06

ORA-32795: 생성된 always identity 열에 삽입할 수 없습니다.

ORA-32795: 생성된 always identity 열에 삽입할 수 없습니다. 아래 삽입문을 실행하려고 하는데 계속 오류가 발생합니다. 생성된 항상 ID 열에 삽입할 수 없음 다음과 같이 진술합니다. INSERT INTO leaves_approval SELECT * FROM requests_temp r WHERE r.civil_number = 33322 AND r.request_id = (SELECT Max(s.request_id) FROM requests_temp s) 대상 테이블의 열 중 하나(leaves_approval)에 항상 생성된 것으로 정의된 ID 열이 들어 있습니다. ID 열은 할당할 수 없는 항상 생성 모드와 할당할 수 있는 기본적으로 생성 모드의 두 가지 모드로 생성할 수 있습니다...

source 2023.11.01

Oracle에서 열 값 스와핑

Oracle에서 열 값 스와핑 퍼즐 중 하나를 풀다가 우연히 DML 쿼리를 사용하여 열 값을 교환했습니다. SELECT * FROM TEMP_TABLE; ID1, ID2 -------- 20, 15 20, 15 20, 15 해결책은 수학적 계산입니다. UPDATE TEMP_TABLE SET ID1=ID1+ID2; UPDATE TEMP_TABLE SET ID2=ID1-ID2; UPDATE TEMP_TABLE SET ID1=ID1-ID2; 이것이 Strings에 적용될 수 있는지에 대해 알아보고 있는 중입니다, 제안 부탁드립니다. SELECT * FROM TEMP_TABLE_NEW; ID1, ID2 -------- ABC, XYZ ABC, XYZ ABC, XYZ 세 개의 업데이트 문을 가질 필요는 없으며, ..

source 2023.10.27

테이블의 항목을 재정렬하는 방법

테이블의 항목을 재정렬하는 방법 자리가 있습니다.my_table NAME, SEQ_NO, LOCKED . 아이템을 제거하고 추가하고 다시 주문하고 싶습니다(수정SEQ_NO) 시퀀스가 항상 1에서 COUNT(*)로 진행되고 잠긴 항목은 해당 SEQ_NO를 유지하며 잠금 해제된 항목은 해당 번호를 얻을 수 없습니다.잠금해제된항목만새로운SEQ_NO로업데이트됩니다. 예: 이것. NAME SEQ_잠김 없음푸1N막대 3 Yabc 4 Y바즈5NCde 7 N 결과: NAME SEQ_잠김 없음푸1N바즈2N막대 3 Yabc 4 YCde 5 N 내가 어떻게 그럴 수 있을까?당신의 목표는 때때로.1..COUNT(*)numbering과 '잠긴 행에 번호를 변경하지 않음'으로 인해 확인할 수 없는 충돌이 발생합니다.예를 들어, ..

source 2023.10.22

Oracle: 행 유형 데이터를 다른 테이블에 삽입합니다.

Oracle: 행 유형 데이터를 다른 테이블에 삽입합니다. 나는 event라는 테이블이 하나 있는데, event와 같은 열과 정의로 또 다른 글로벌 temp table tmp_event를 만들었습니다.이것을 이용하여 이벤트 내 레코드를 tmp_event에 삽입할 수 있습니까? DECLARE v_record event%rowtype; BEGIN Insert into tmp_event values v_record; END; 이벤트 테이블에 열이 너무 많아서요, 열을 다 나열하고 싶지 않아서 해보려고요. 언급하는 것을 잊었습니다.트리거에 사용합니다. 이 v_record가 EVENT 테이블에 삽입 후 object:new가 될 수 있습니까?하나의 행을 삽입하려면- DECLARE v_record event%rowt..

source 2023.10.17

다른 스키마의 Oracle 테이블에 대한 마지막 DDL 시간 가져오기

다른 스키마의 Oracle 테이블에 대한 마지막 DDL 시간 가져오기 테이블에 적용된 마지막 DDL 문의 시간을 찾으려고 합니다. 다음과 같은 해결책을 찾았습니다. Select OBJECT_NAME, LAST_DDL_TIME From user_objects Where OBJECT_NAME='MY_TABLE' 문제는 제 스키마에 속하지 않는 테이블에 대해 이를 확인하고 있습니다. 어떤 제안이든 부탁드립니다.권한이 있다고 가정할 때, 당신은 단지 다음과 같은 질문을 하기만 하면 될 것입니다.ALL_OBJECTS아니면DBA_OBJECTS뷰(view), 즉 SELECT object_name, object_type, last_ddl_time FROM dba_objects (or all_objects) WHERE ..

source 2023.10.12

Oracle STANDARD_PLSQL에서 해시를 사용할 수 없습니까?

Oracle STANDARD_PLSQL에서 해시를 사용할 수 없습니까? STANDARD_를 사용하려고 합니다.PL/SQL에서 해시 오라클(12c) 기능을 사용할 수 없지만 사용할 수 없는 것 같습니다. SQL> exec dbms_output.put_line(STANDARD_HASH('test')); BEGIN dbms_output.put_line(STANDARD_HASH('test')); END; * ERROR at line 1: ORA-06550: line 1, column 28: PLS-00201: identifier 'STANDARD_HASH' must be declared ORA-06550: line 1, column 7: PL/SQL: Statement ignored From sql은 정상적으로..

source 2023.10.12

Oracle에서 CREATE 명령을 사용하여 열 이름을 큰따옴표로 묶으면 제대로 작동하지 않습니다. 이유는 무엇입니까?

Oracle에서 CREATE 명령을 사용하여 열 이름을 큰따옴표로 묶으면 제대로 작동하지 않습니다. 이유는 무엇입니까? 간단한 표를 생각해 봅시다.products(Oracle 9i를 사용해 보았습니다.)아래 CREATE 문으로 이 테이블을 작성합니다. CREATE TABLE products ("prod_id" varchar2(7) primary key, "product_name" varchar2(30) NOT NULL); 특별히 주의해야 할 것은, 나는 두개의 따옴표 안에 열 이름을 넣고 있다는 것입니다.""우리가 평소에 그랬던 것처럼.분명히 효과가 있을 것이고 그리고products테이블은 지정된 제약 조건이 있는 두 열로 생성됩니다. 이제 다음 INSERT INTO 명령을 사용하여 일부 행을 이 테이블..

source 2023.10.07

oracle : where 절의 함수가 결과를 필터링한 나머지 모든 where 절 이후에만 호출되도록 하는 방법?

oracle : where 절의 함수가 결과를 필터링한 나머지 모든 where 절 이후에만 호출되도록 하는 방법? 저는 이와 같은 취지로 질문을 씁니다. select * from players where player_name like '%K% and player_rank 1; 이제 check_if_player_is_elitable() 함수가 무겁기 때문에 쿼리가 검색 결과를 충분히 필터링한 다음 필터링된 결과에 대해서만 이 함수를 실행하기를 원합니다. 기능이 실행되기 전에 최소한의 횟수만큼 실행되도록 모든 필터링이 수행되는지 확인하려면 어떻게 해야 합니까?다른 모든 WHERE 절을 평가하기 전에 Oracle이 함수를 평가하지 않도록 속일 수 있는 두 가지 방법은 다음과 같습니다. 로넘 사용 열 rownu..

source 2023.10.02