Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
Home -> Community -> Mailing Lists -> Oracle-L -> RE: Unix script help
You could use pl/sql, using execute immediate 'sql_statement' and use some
variable to row count. Something like:
declare
cnt number;
begin
execute immediate
'create table tangram.sw_save nologging
tablespace tangram
as select * from tangram.sw_use_t_h where sut_closed_dt > = (sysdate-10)';
select count(*) into cnt from tangram.sw_save;
if cnt > some_number then
execute immediate 'truncate table tangram.sw_use_t_h';
end if;
insert into tangram.sw_use_t_h
select * from tangram.sw_save;
commit;
execute immediate 'drop table tangram.sw_save';
end;
Put this code into a file, say test1.sql, then call this script from cron.
HTH. Guang
-----Original Message-----
From: oracle-l-bounce_at_freelists.org
[mailto:oracle-l-bounce_at_freelists.org]On Behalf Of M Rafiq
Sent: Tuesday, March 02, 2004 3:07 PM
To: oracle-l_at_freelists.org
Subject: Unix script help
Hi
I need help for following sql script. I want to put condition before truncate that table creation must be successful before truncate runs. The condition may be to check count before and after creation or tracking of any ORA/warning message but I could not make up my mind. I want to put it in cron to run it weekly.
Is any body can help to give me some tips/script itself?
Regards
Rafiq
create table tangram.sw_save nologging
tablespace tangram
as select * from tangram.sw_use_t_h where sut_closed_dt > = (sysdate-10);
truncate table tangram.sw_use_t_h;
insert into tangram.sw_use_t_h
select * from tangram.sw_save;
commit;
drop table tangram.sw_save;