Hi! Could we please enable some services and cookies to improve your experience and our website?

SQLize | PHPize | SQLtest

Online Sandbox for SQL and PHP: Write, Run, Test, and Share SQL Queries and PHP Code

A A A
Login    Share code      Blog   FAQ
Copy Format Clear
DROP TABLE IF EXISTS employee; CREATE TABLE employee ( emp_name text, salary int, update_dt timestamp, update_usr_id text DEFAULT '0' ); insert into employee values ('Петр Болотин', 100000); -- Требуется создать триггер, который при любом добавлении или изменении строки в таблице сохраняет в этой строке -- информацию о текущем пользователе и отметку времени. Кроме того, он требует, чтобы было указано имя сотрудника и -- зарплата задавалась положительным числом. CREATE OR REPLACE FUNCTION update_emp_view() RETURNS TRIGGER AS $$ BEGIN IF NEW.salary <= 0 OR NEW.emp_name IS NULL THEN RETURN NULL; ELSE NEW.update_dt = now(); NEW.update_usr_id = CURRENT_USER; RETURN NEW; END IF; END; $$ LANGUAGE plpgsql; CREATE OR REPLACE TRIGGER emp_audit BEFORE INSERT OR UPDATE ON employee FOR EACH ROW EXECUTE PROCEDURE update_emp_view(); insert into employee values ('Алексей Бердовскийd', 300); select * from employee; insert into employee values ('Ильяd', -1); select * from employee; -- drop trigger emp_audit on employee;

Stuck with a problem? Got Error? Ask AI support!

Copy Clear