create function r(str text) returns text as $$
begin
return reverse(str);
end;
$$ language plpgsql;
select * from r('Hello world!');
create function fact(n integer) returns integer as $$
declare
result integer := 1;
begin
for i in 2..n loop
result := result * i;
end loop;
return result;
end;
$$ language plpgsql;
select * from r('Hello world!');
select fact(10);
create function add_to_date(integer, date) returns date as 'select $2 + $1 days;' language sql;
select add_to_date(1, current_date);
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 function check_new() returns trigger as
$$
begin
if new.emp_name is null or salary <= 0 then
return null;
end if;
new.update_dt = current_date;
new.update_usr_id = current_user;
return new;
end;
$$ language plpgsql;
create trigger