Kā atspējot sprūda Oracle

Ka Atspejot Spruda Oracle



Datu bāzes trigeri jeb īsumā trigeri attiecas uz saglabātajām procedūrām, kas tiek izpildītas kā atbilde uz notikuma darbību noteiktā datu bāzes objektā.

Tas atšķiras no standarta saglabātajām procedūrām, kurām ir nepieciešama skaidra lietotāja izsaukšana. Tā kā aktivizētāji ir automatizēti, tie tiek aktivizēti vai aktivizēti, kad notiek norādītais notikums, neatkarīgi no savienotā lietotāja vai servera stāvokļa.







Lielākā daļa relāciju datu bāzu atbalsta trigeru izmantošanu, lai veiktu automatizētus uzdevumus, piemēram, nederīgu darījumu novēršanu, notikumu reģistrēšanu, tabulas piekļuves statistikas ienešanu un ierakstīšanu un daudz ko citu.



Kad aktivizētājs ir izveidots, tas vienmēr darbojas ikreiz, kad notiek saistītais notikums. Tomēr, iespējams, vēlēsities īslaicīgi vai pastāvīgi novērst trigera izpildi. Šeit tiek izmantota sprūda atspējošanas funkcija.



Šajā rakstā tiks apspriestas ātras un vienkāršas darbības, lai Oracle datubāzē atspējotu palaišanu. Ja esat iesācējs Oracle trigeru lietošanā un vēlaties uzzināt, kā tos izveidot, pārbaudiet šo saiti:





https://linuxhint.com/oracle-create-trigger

Testa trigera izveide

Pirms mēs apspriežam trigera atspējošanas metodes, iestatīsim parauga aktivizētāju demonstrācijas nolūkos.



PIEZĪME : šajā sadaļā nav apskatīts, kā definēt vai izmantot datu bāzes aktivizētājus.

Mēs vēlamies izveidot trigeri, kas reģistrē lietotāja darbības pēc dzēšanas darbības. Piemēram, pieņemsim, ka mums ir tabula sample_data ar informāciju, kā parādīts:

Vispirms mums ir jāizveido tabula, kurā mēs glabājam katras dzēšanas darbības žurnālus.

Tabulas shēma ir šāda:

izveidot tabulu sample_data_logs(
ID numurs,
vārds varchar2(50),
ip_address varchar2(20),
btc_address varchar2(50),
credit_card varchar2(50),
identifikators varchar2(40),
delete_date datums,
izdzēsts_varchar2(20)
);

Tālāk mums ir jādefinē trigeris, kas tiek izpildīts pēc dzēšanas notikuma. Sprūda definīcija ir sniegta šādi:

izveidot vai aizstāt aktivizētāju log_user
pēc dzēšanas
uz sample_data
katrai rindai
paziņot
darbības_lietotājvārds varchar2(20);
sākt
izvēlieties lietotāju uz action_username no dual;
ievietot parauga_datu_logos
vērtības (:OLD.id,
:VECAIS.vārds,
:OLD.ip_address,
:OLD.btc_address,
:VECA.kredītkarte,
:OLD.identifikators,
sysdate,
action_username);
beigas;

Lai pārbaudītu aktivizētāju, ļaujiet mums veikt dzēšanas darbību no tabulas sample_data, kā parādīts:

dzēst no izlases_datiem, kur id = 1;

Visbeidzot, mēs varam pārbaudīt žurnālu tabulu, lai pārliecinātos, ka dzēšanas darbība ir reģistrēta:

atlasiet * no sample_data_logs;

Izvade:

Kā redzam, tabulā ir ieraksts par iepriekšējiem datiem pirms dzēšanas, kā arī lietotājvārds, kas veicis dzēšanas darbību, un dzēšanas laiks.

Nākamajās sadaļās mēs parādīsim, kā atspējot iepriekšējo aktivizētāju. Pirms to darāt, pārliecinieties, vai mērķa aktivizētājs darbojas un jums ir pietiekamas atļaujas, lai to iespējotu vai atspējotu.

Atspējojiet trigeri, izmantojot PL/SQL

Pirmā un vienkāršākā trigera atspējošanas metode ir SQL priekšraksta izmantošana. Par laimi, Oracle sniedz mums ALTER TRIGGER paziņojumu, kura sintakse ir norādīta šādi:

ALTER TRIGGER trigera_nosaukums DISABLE;

Piemēram, lai atspējotu aktivizētāju log_user, ko izveidojām iepriekš, mēs varam izpildīt šādas darbības:

alter trigger log_user disable;

Kad aktivizētājs ir izpildīts, tas vairs nesaglabās veco datu un lietotāja, kurš veica dzēšanu, kopiju, kā parādīts tālāk.

dzēst no izlases_datiem, kur id = 2;

Pārbaudiet žurnālus:

atlasiet * no sample_data_logs;

Izvade:

Kā redzam, mums joprojām ir tikai viens rekords.

Atspējojiet trigeri, izmantojot SQL izstrādātāju

Mēs varam izmantot utilītu SQL Developer, lai grafiskajā saskarnē atspējotu trigeri. Sāciet, piesakoties SQL izstrādātājā.

Pārejiet uz sadaļu Aktivizētāji:

Paplašiniet trigeru direktoriju un atrodiet aktivizētāju, kuru vēlaties atspējot. Ar peles labo pogu noklikšķiniet uz trigera nosaukuma un atlasiet “Atspējot”.

Apstipriniet darbību “Atspējot” un noklikšķiniet uz “Lietot”.

Kad tas ir atspējots, Oracle sprūda ir pelēkā krāsā, norādot, ka tas ir neaktīvs.

Secinājums

Šajā rakstā tika apskatīts, kā atspējot Oracle aktivizētāju, izmantojot PL/SQL paziņojumus un utilītu SQL Developer.