728x90

Programming 204

ORA-06576 함수 또는 프로시저 이름이 부적합합니다

ORA-06576 함수 또는 프로시저 이름이 부적합합니다 ※ 에러 발생 상황 1) user A에서 신규 프로시저 생성 2) user B에서 해당 프로시저 실행 ※ 조치 내역 1) system 계정에서 시노님을 준다 2) user B에서 실행 할수 있게 execute 권한을 준다 create public synonym procecure명 for user A. procecure명 ; grant execute on procecure명 to user B ;

Programming/Oracle 2024.01.25

오라클-수량 비율로 금액 배분 후 끝전 처리까지 한번에 쿼리로 만들기

[ 수량 비율로 금액 배분 후 끝전 처리를 쿼리로 만들기 ] 1) cloth_cd별로 가지고 있는 수량 비율을 구해 금액을 나눈다( ratio_to_report 사용 ) cloth_cd의 rownumber와 마지막 로우를 찾기 위해 count(cloth_cd)를 구해 놓는다 round(d.othr_amt8 * round(ratio_to_report(a.out_qty) over(partition by a.cloth_cd), 6)) out_amt, row_number() over(partition by a.cloth_cd order by a.out_qty) last_row, count(a.cloth_cd) over(partition by a.cloth_cd) row_cnt 2) cloth_cd별로 마지막 r..

Programming/Oracle 2023.11.17

배치 프로그램 튜닝 방법

1) 스칼라 서브쿼리를 이용한 조인 Select d.deptno, d.dname, (select sum(sal) from emp where deptno = d.deptno) sum_sal, (select max(sal) from emp where deptno = d.deptno) max_sal From dept d ▶ 스칼라 서브쿼리로 동일 테이블 여러 번 읽을 경우 아래와 같이 변경 합니다 Select d.deptno, d.dname, To_number(substr(sal,1,7)) sum_sal, To_number(substr(sql, 8,7)) max_sal From ( Select d.deptno, d.dname, (select lpad(sum(sal),7)||lpad(max(sal),7) fro..

Programming/SQLP 2023.05.04

오라클cold백업,export백업설정(windows서버)

[ windows 서버에서 cold 백업과 export 백업 설정 및 스케쥴링 ] 1. begin.sql 작성 2. end.sql 작성 3. 백업 스크립트 작성(backup.bat) 4. windows 스케쥴러에 등록 1. begin.sql : dba_tablespaces에 있는 테이블스페이스명으로 설정 connect / as sysdba alter tablespace SYSTEM begin backup; alter tablespace SYSAUX begin backup; alter tablespace UNDOTBS1 begin backup; alter tablespace USERS begin backup; alter tablespace ERP_DATA begin backup; alter tablespa..

Programming/Oracle 2023.02.07

지정 컬럼에 대한 트리거 실행

TRIGGER란 : 이벤트가 발생하면 데이터베이스에 의해 자동으로 수행 [ 테이블의 지정된 column에 대해서 트리거 실행 시키는 방법!!! ] 예제) TB_TEST의 acc_nm1, acc_nm2, acc_nm3, acc_nm4, acc_nm5, acc_short_nm, acc_eng_nm 데이타 변경시 TB_TEST_LOG에 이력 남기기 트리거) create or replace trigger TR_TEST_U after UPDATE of acc_nm1, acc_nm2, acc_nm3, acc_nm4, acc_nm5, acc_short_nm, acc_eng_nm on TB_TEST referencing new as new old as old for each row declare begin insert..

Programming/Oracle 2022.09.29
728x90