반응형

oracle 37

대량 수집이 있는 테이블 함수가 잘못된 데이터 유형을 슬로우함

대량 수집이 있는 테이블 함수가 잘못된 데이터 유형을 슬로우함 함수를 작성하고 있는데 select query에서 사용할 수 있도록 테이블 함수로 포장하고 싶습니다. 다음은 제 유형 선언과 함수의 몇 줄입니다. CREATE OR REPLACE PACKAGE TYPES AS TYPE CURSORTYPE IS REF CURSOR; TYPE vbugsrec IS RECORD ( bug_id bugs.bug_id%TYPE, facility bugs.facility%TYPE ); TYPE vbugstable IS TABLE OF vbugsrec INDEX BY BINARY_INTEGER; END; / CREATE OR REPLACE PACKAGE BODY CustomQueries AS FUNCTION pendver..

programing 2023.08.08

PL/SQL: 스크립트 실행을 완전히 중지하는 지침이 있습니까?

PL/SQL: 스크립트 실행을 완전히 중지하는 지침이 있습니까? PL/SQL 스크립트의 시작 부분에서 DB 스키마를 확인하려고 합니다. 검사 결과가 실패할 경우 스크립트를 중지하여 다음 명령이 실행되지 않도록 합니다. 이런 게 있어요 -- 1st line of PL/SQL script DECLARE SOME_COUNT INTEGER; BEGIN SELECT COUNT(*) INTO SOME_COUNT FROM SOME_TABLE WHERE ; IF (SOME_COUNT > 0) THEN DBMS_OUTPUT.PUT_LINE('Test failed, I don''want the rest of the script' || ' to be executed.'); --EXIT or something like tha..

programing 2023.07.29

이 PL/SQL에 문제가 있습니까? 변수 바인딩 *이(가) 선언되지 않았습니다.

이 PL/SQL에 문제가 있습니까? 변수 바인딩 *이(가) 선언되지 않았습니다. 여기: declare v_str1 varchar2(80); begin v_str1 := 'test'; print :v_str1; end SQL Developer를 사용하여 SQL 워크시트를 실행하면 다음과 같은 이점이 있습니다. Bind Variable "v_str1" is NOT DECLARED anonymous block completed 알겠습니다. set serveroutput on declare v_str1 varchar2(80); begin v_str1 := 'test'; dbms_output.put_line(v_str1); end; 자세한 내용은 여기.:VARNAME 형식의 바인딩 변수 구문은 주로 SQL* Pl..

programing 2023.07.29

데이터베이스 설계 - 날짜를 기본 키의 일부로 사용해야 합니다.

데이터베이스 설계 - 날짜를 기본 키의 일부로 사용해야 합니다. 기본 키의 일부로 날짜 필드를 포함하는 경우의 장단점은 무엇입니까?부품 인벤토리 표를 예로 들어 보겠습니다. 재고 수준을 매일 끝에 저장하려면 part_id와 date_of_day에 있는 복합 기본 키를 사용하면 됩니다.이 키를 고유한 키로 만들고 가상 기본 키를 추가할 수 있습니다. 특히 외부 키 제약 조건으로 이 키를 참조하는 테이블이 하나 이상 있는 경우에는 문제가 없습니다. 따라서 반드시 잘못된 것은 아니지만 다른 방법과 마찬가지로 패트릭의 예처럼 잘못 사용될 수 있습니다. 편집: 추가할 다른 의견이 있습니다. 데이터베이스의 날짜 값이 정말 자연스러운 것인지 합성적인 것인지에 대한 주제로 얼마 전에 쓴 글이 생각납니다.날짜를 "YYY..

programing 2023.07.24

Oracle SYS_GUID가 변경되지 않음

Oracle SYS_GUID가 변경되지 않음 저는 GUID를 키로 사용하기에 적합한 Oracle 프로젝트가 있습니다.다음 스니펫을 찾았습니다. SET SERVEROUTPUT ON BEGIN FOR indx IN 1 .. 5 LOOP DBMS_OUTPUT.put_line ( SYS_GUID ); END LOOP; END; / 출처: http://feuerthoughts.blogspot.com/2006/02/watch-out-for-sequential-oracle-guids.html 데이터베이스에 대해 실행할 때(버전 10g 및 버전 11에서 사용) 다음과 같은 출력이 표시됩니다. 64FE4083D6BA7CB4E0400F0A0E0A18B0 64FE4083D6BB7CB4E0400F0A0E0A18B0 64FE4..

programing 2023.07.24

cx_Oracle을 사용하여 사전 목록 만들기

cx_Oracle을 사용하여 사전 목록 만들기 Oracle에서 데이터를 가져올 수 있는 "더 읽기 쉬운" 형식을 만들기 위해 다음 기능을 사용하고 있습니다.기능은 다음과 같습니다. def rows_to_dict_list(cursor): """ Create a list, each item contains a dictionary outlined like so: { "col1_name" : col1_data } Each item in the list is technically one row of data with named columns, represented as a dictionary object For example: list = [ {"col1":1234567, "col2":1234, "col3":12..

programing 2023.07.19

Oracle PL/SQL : 문자열에서 "공백 문자" 제거

Oracle PL/SQL : 문자열에서 "공백 문자" 제거 Oracle 10g 데이터베이스에서 테이블 필드의 값에서 "공백 문자"(공백, 탭, 캐리지 리턴 등)를 제거하려고 합니다. 아이즈TRANSLATE()가는 길?예를 들어 다음과 같은 것이 있습니다. MY_VALUE := TRANSLATE(MY_VALUE, CHR(9) || CHR(10) || CHR(11) || CHR(12) || CHR(13) || ' ', ''); 아니면 더 나은 대안이 있을까요?[:space:]PHP PCRE에서)? 조언을 해주셔서 감사합니다.저는 regexp_replace를 원하지만 PL/SQL에서 사용할 수 있는지 100% 확신할 수는 없습니다. my_value := regexp_replace(my_value, '[[:sp..

programing 2023.07.09

오라클 저장 프로시저를 어떻게 인쇄합니까(디버깅 목적)?

오라클 저장 프로시저를 어떻게 인쇄합니까(디버깅 목적)? 저장 프로시저(Oracle)를 디버깅하려고 합니다.저는 몇 가지 변수를 인쇄하고 싶습니다. 인쇄할 명령이 무엇인지(또는 어디서 찾을 수 있는지) 알 수 없습니다.그게 뭔지 누가 말해줄 수 있나요? 감사해요. 편집: 이게 내 방아쇠야 create or replace procedure bns_saa_confs_update_state ( theID in varchar2 ) AS begin UPDATE BNS_SAA_CONFIRMATIONS SET SentToWssStatus='T' WHERE ID=theID; commit; end; 인쇄하고 싶습니다.아이디사용dbms_output.put_line()함수: declare my_var varchar2(20)..

programing 2023.07.09

일반 사용자 또는 역할 이름이 잘못되었습니다.

일반 사용자 또는 역할 이름이 잘못되었습니다. 오류가 표시되는 이유는 무엇입니까? SQL> create user nisar identified by kk ; create user nisar identified by kk * 1행 오류: ORA-65096: 일반 사용자 또는 역할 이름이 잘못되었습니다. 아래 명령을 사용했습니다.매우 유용합니다.그래서 저는 당신에게 추천하고 싶습니다. alter session set "_ORACLE_SCRIPT"=true; 자세한 내용은 http://www.dba-oracle.com/t_ora_65096_create_user_12c_without_c_prefix.htm 을 참조하십시오.잘못된 이름을 가진 컨테이너 사용자가 아닌 일반 사용자를 생성하려고 합니다. ORA-650..

programing 2023.06.29

Oracle은 단락 평가를 사용합니까?

Oracle은 단락 평가를 사용합니까? 다음과 같이 구성된 Oracle 쿼리가 있습니다. SELECT * FROM table WHERE X='true' OR Y IN (complicated subquery) Oracle은 X가 'true'와 동일하다고 판단하더라도 WHERE 절의 YIN(하위 쿼리) 부분을 평가하려고 합니까?또한 이와 같은 진술에서 하위 질의는 표의 각 항목에 대해 여러 번 실행됩니까?다음과 같은 것이 더 나을까요? WITH subQ as (complicated subquery) SELECT * FROM table WHERE X='true' OR Y IN (SELECT id FROM subQ) 상황에 따라 다릅니다. 일반적으로 Oracle은 SQL 문이 단락 평가를 사용한다고 보장하지 않..

programing 2023.06.24
반응형