• 4 odgovora
  • 2.945 pregleda
Kreiranje Oracle job-a 23.07.2018. u 08:26 · pre 100 meseci #1
Kreirao sam job:

BEGIN
DBMS_SCHEDULER.CREATE_JOB (
job_name => 'my_job1',
job_type => 'PLSQL_BLOCK',
job_action => 'delete xx_tabela;',
repeat_interval => 'freq=DAILY; byhour=15; byminute=15; bysecond=0;',
comments => 'delete xx_tabela');
END;
/
Mana je sto nece da se okine :)
Gde sam pogresio ?
Re: Kreiranje Oracle job-a 23.07.2018. u 09:17 · pre 100 meseci #2
delete xx_tabela;

nije PLSQL blok nego jedna sql naredba, koja čak nije ni sintaksno ispravna.
treba:
delete from <ime_tabele>

osim toga, kako misliš da se nešto desi, kada nema commit?

Da bi to bilo blok, mora da ima bar BEGIN END deo. Ako želiš da obrišeš celu tabelu, trebalo bi nešto kao

begin truncate table xx_tabela; end;

truncate je brže od delete i ne treba commit, zato što ima implicitni commit na kraju izvršavanja.
Re: Kreiranje Oracle job-a 23.07.2018. u 09:39 · pre 100 meseci #3
BEGIN
DBMS_SCHEDULER.CREATE_JOB (
job_name => 'my_job1',
job_type => 'PLSQL_BLOCK',
job_action => 'begin truncate xx_tabela;end;',
repeat_interval => 'freq=DAILY; byhour=10; byminute=36; bysecond=0;',
comments => 'truncate xx_tabela');
END;
/
Nece ni ovako. Ako sam dobro razumeo ovo treba da se okida svaki dan u 10h i 36 min.
Re: Kreiranje Oracle job-a 23.07.2018. u 11:36 · pre 100 meseci #4
nije
truncate xx_tabela;
nego
truncate TABLE xx_tabela;
Re: Kreiranje Oracle job-a 24.07.2018. u 08:37 · pre 100 meseci #5
Nece da 'oce ni ovako. Nema veze resio sam tako sto sam pojedinacno kreirao program,schedule-er i job.
U svakom slucaju puno se zahvaljujem
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme