2013-04-17 91 views
0

在我的特殊情況下,我需要打印每位薪水高於100'000的員工的'emp_id'和'工資'。它只需要檢查然後打印出來。PL/SQL,如何使觸發器打印出特定的列行?

CREAT OR REPLACE TRIGGER idNumber 
BEFORE 
CREATE OR REPLACE TRIGGER salary_trigger 
AFTER INSERT or UPDATE OF salary, ON Employee 
for each row 
WHEN (salary > 100000) 
DECLARE 
BEGIN 
if salary > 100000 
THEN 
DBMS_OUT.PUT_LINE(salary, emp_id); 
END; 
/
+2

「print」是什麼意思? –

+1

DBMS_OUTPUT.put_line實際上僅用於調試輸出。如果客戶端設置爲檢索並顯示它,它通常只會顯示在屏幕上。 –

+0

我認爲在觸發器中打印實際上會打印到警報日誌(或udump中的跟蹤文件)。您不能從觸發器打印出來,因爲觸發器在後臺運行,並且與您的客戶端應用程序無關。 – haki

回答

0

爲什麼觸發器?當然只是

select emp_id, salary 
from Employee 
where salary > 100000; 

會做?

+0

那麼,它應該也會增加一個超過100'000的新薪水塊。 – the5thace