테이블에서 레코드 수를 얻기 위해 간단한 표준 SQL 쿼리를 사용하고 있으며 나중에 사용할 수 있도록이를 변수에 저장하려고합니다.oracle sql의 대체 변수
이유는 내 테이블에 거대한 데이터가 포함되어 있으며 아래 쿼리를 다시 사용하고 싶지 않습니다.
select count(1) from mytable;
또한 그냥
SQL
문을 찾고,
PL/SQL
를 사용하지 않습니다.
define 키워드를 사용해 보았지만 정의 변수에 카운트를 설정할 수 없습니다.
어떻게 변수에 저장할 수 있는지 제안하십시오.
예 :
DEFINE some_variable;
SELECT COUNT(1) into some_variable,sysdate as CLEANUP_START FROM TABLE_TEMP;
--offcourse this is not correct for simple sql statment.however i want to store it in variable.
DELETE from MY_TABLE where Primary_key in (select primary_key from TABLE_TEMP);
--around 10M records are deleting
SELECT sysdate as CLEANUP_END FROM dual;
---There are such 10 delete statments on different tables.
---Spool the deleted record in csv file.
spool output.csv
select 'RESULT' from dual;
---And at the last i want print the summary of the cleanup records.
select primary_key from TABLE_TEMP;
select some_variable||',Records is deleted from MY_TABLE' from DUAL;
spool off;
이 변수를 사용할 위치와 방법을 설명하는 샘플 코드를 게시하십시오. –
여기서는 성능이 중요하지만 정확성은 그다지 중요하지 않습니다 (변수 수가 채워진 후 행 수가 변경 될 수 있음). 대신 데이터 사전 사용을 고려 했습니까? 예 :'NUM_ROWS FROM USER_TABLES WHERE TABLE_NAME = 'MY_TABLE'; ' – alexgibbs