PL/SQL,如何使触发器打印出特定的列行?
在我的特殊情况下,我需要打印每个工资超过10万的员工的“emp_id”和“工资”。它只需要检查,然后打印出来PL/SQL,如何使触发器打印出特定的列行?,sql,oracle,plsql,Sql,Oracle,Plsql,在我的特殊情况下,我需要打印每个工资超过10万的员工的“emp_id”和“工资”。它只需要检查,然后打印出来 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 &
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;
/
为什么是触发器?当然只是
select emp_id, salary
from Employee
where salary > 100000;
可以吗?好的,当添加一个超过100000的新工资块时也应该可以。你说的“打印”是什么意思?DBMS\u OUTPUT.put\u行实际上只用于调试输出。它通常只在客户端设置为检索并显示它时才会显示在屏幕上。我认为在触发器中打印实际上会打印到警报日志(或udump中的跟踪文件)。无法从触发器打印,因为触发器在后台运行,并且与客户端应用程序不关联。