반응형
Oracle에서 임시 테이블로 선택
저는 다음과 같은 일을 하려고 노력하고 있습니다.
select * into temp from (select * from student);
그것은 나에게 다음과 같은 오류를 줍니다.
ERROR at line 1:
ORA-00905: missing keyword
실제 예제에서는 하위 쿼리(학생에서 * 선택)가 더 복잡합니다.
이것을 저장 프로시저에서 사용하고 싶기 때문에 테이블 자체를 만들고 싶지 않습니다.임시 테이블을 사용하여 코드를 더 읽기 쉽게 만들고 싶습니다.
그런 다음 다음과 같은 작업을 수행해야 합니다.
declare
type t_temp_storage is table of student%rowtype;
my_temp_storage t_temp_storage;
begin
select * bulk collect into my_temp_storage from student;
for i in 1..my_temp_storage.count
loop
dbms_output.put_line('here I am '||my_temp_storage(i).stuid);
end loop;
end;
테이블 임시가 존재하지 않으면 테이블 임시를 작성해야 합니다.
CREATE TABLE temp as
SELECT * FROM student;
임시 테이블에 "선택"하지 않습니다.선택한 결과에서 온도 테이블에 삽입하려면 다음을 수행합니다.
insert into temp
select * from student;
다음과 같은 유용성을 발견했습니다.
CREATE GLOBAL TEMPORARY TABLE MY_TEMPORARY_TABLE ON COMMIT PRESERVE ROWS AS (
SELECT * FROM MY_TABLE WHERE MY_CONDITION
)
COMMIT PRESERVE ROWS 절은 기본 행(COMMIT DELETE ROWS)을 재정의합니다.기본값을 유지하는 경우 레코드는 커밋할 때마다 삭제되므로 자동 커밋 클라이언트에서 작업하는 경우 레코드는 생성 후 즉시 삭제됩니다.두 경우 모두 테이블은 세션 기간 동안만 존재합니다.
언급URL : https://stackoverflow.com/questions/28653276/select-into-a-temporary-table-in-oracle
반응형
'programing' 카테고리의 다른 글
보조 확인 방법이 지금 동기화되었는지 여부 (0) | 2023.06.25 |
---|---|
성능 테스트를 위해 오라클 캐시를 비활성화하는 방법 (0) | 2023.06.25 |
스프링 업로드 파일 크기 제한 오류 (0) | 2023.06.25 |
Django Rest Framework를 사용하여 관련 모델 필드를 포함하려면 어떻게 해야 합니까? (0) | 2023.06.25 |
Python: 데이터 프레임에서 시간 델타를 int로 변환 (0) | 2023.06.25 |