首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Postgres更新差异表

Postgres更新差异表
EN

Stack Overflow用户
提问于 2020-09-13 11:07:15
回答 1查看 42关注 0票数 0

您好,我正在尝试创建一个触发器,在对某一行上的某列插入后,trgigger将该值添加到另一张表中的某处。我有一个名为updates的表:

代码语言:javascript
复制
create table public.updates (
id serial not null,
matricula varchar(10) NOT NULL,
primensalidade int,
segmensalidade int,
tercmensalidade int,
quamensalidade int,
quimensalidade int,
sexmensalidade int,
foreign key (id) references creditos(id));

我有一张表,叫做:

代码语言:javascript
复制
CREATE TABLE public.creditos (
id serial NOT NULL,
veiculo varchar(10) NOT NULL,
matricula varchar(10) NOT NULL,
nome bpchar(30) NOT NULL,
telemovel varchar(10) NOT NULL,
valordevendapronto int4 NOT NULL,
juros int4 NULL,
valortotal int4 NULL,
entradainicial int4 NOT NULL,
primensalidade int4 NULL,
segmensalidade int4 NULL,
tercmensalidade int4 NULL,
quamensalidade int4 NULL,
quimensalidade int4 NULL,
sexmensalidade int4 NULL,
datainicial date NULL DEFAULT now(),
datafinal date NULL,
pago bpchar(3) NULL,
CONSTRAINT creditos_pkey PRIMARY KEY (id));

我的目标是在updates.primensalidade上插入后,它转到creditos.primensalidade,并将其更改为我之前在updates.primensalidade上选择的内容,其中我的creditos.matricula和updates.matricula是相同的。到目前为止,我所做的是:

代码语言:javascript
复制
CREATE OR REPLACE function creditoupdate()
 RETURNS trigger
 LANGUAGE plpgsql
AS $function$
begin 
    insert into creditos(primensalidade) values(new.primensalidade) where matricula = new.matricula ;
    return new;
end;
$function$
;

create trigger creditoupdatetrigger after
insert
    on
    updates for each row execute function creditoupdate();

我希望你能帮助我。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-09-13 13:03:40

INSERT中不能这样使用WHERE

要更新表creditos中的primensalidade列,可以使用以下命令:

UPDATE creditos SET primensalidade = new.primensalidade where matricula = new.matricula;

有关UPDATE - https://www.postgresql.org/docs/current/sql-update.html的更多信息

有关INSERT - https://www.postgresql.org/docs/current/sql-insert.html的更多信息

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63866780

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档