Tarik Brat
08/26/2021, 12:46 PMnew
does not exist in the current database.`Ryan
08/26/2021, 12:49 PMTarik Brat
08/26/2021, 12:53 PMTarik Brat
08/26/2021, 12:55 PMRyan
08/26/2021, 12:56 PMTarik Brat
08/26/2021, 12:57 PMCREATE TABLE members (
name varchar(50) NOT NULL,
username varchar(50)
);
CREATE OR REPLACE FUNCTION insert_username()
RETURNS trigger
LANGUAGE plpgsql AS 'BEGIN IF NEW.username IS NULL THEN NEW.username := to_tsvector(NEW.name); END IF; RETURN NEW; END;';
CREATE trigger trig_insert_members
BEFORE INSERT ON members
FOR EACH ROW
EXECUTE PROCEDURE insert_username();
insert into members(name) values('asd');
Tarik Brat
08/26/2021, 12:58 PMTarik Brat
08/26/2021, 12:58 PMTarik Brat
08/26/2021, 1:00 PMRyan
08/26/2021, 1:02 PMTarik Brat
08/26/2021, 1:02 PMRyan
08/26/2021, 1:33 PMCREATE TABLE "members" (
"name" varchar(50) NOT NULL,
"username" varchar(50)
);
CREATE OR REPLACE FUNCTION insert_username()
RETURNS trigger
language plpgsql as $$
begin
if NEW."username" is null then
NEW."username" := 'something';
end if;
return NEW;
end;
$$;
CREATE trigger trig_insert_members
BEFORE INSERT ON "members"
FOR EACH ROW
EXECUTE PROCEDURE insert_username();
insert into "members" ("name") values('asd');
select * from "members";
Postgres version 13. It may be an issue with to_tsvector
in this case.