오류:에서 누락된 절 입력 테이블을 위한"사용자"

0

질문

내가 사용하여 이 프로그램 pgadmin 고 나는 새로운다. 나는 테이블의"사용자"하는 다음과 같은 열 (Username, Name, Email, Phone, Discount, Password, token, serial, created_on, updated_on, points, reference). 내가 하려고 했을 만들에 대한 트리거하도록 테이블 마다 새로운 삽입이 발생하면 기존에 사용자 이름을 참조장,포인트의 사용자 이름에 의해 증가 될 것이 50 입니다. 그래서 거기에는 두 가지 작업을 업데이 기존에 테이블을 삽입하는 새로운 값입니다.

나도 트리거를 만드는 기능은 다음과 같다:

create or replace function points()
returns trigger as 
$BODY$
BEGIN
        if 
        new."Users"."reference" in (old."Users"."username")
        then
        Insert into "Users"(Username,Name,Email,Phone,Discount,Password,token,serial,created_on,updated_on,points,reference)
         values(new.Username,new.Name,new.Email,new.Phone,new.Discount,new.Password,new.token,new.serial,new.created_on,new.updated_on,new.points,new.reference);
        
        
         update "Users"
         set old."Users"."points" = old."Users"."points" + 50
         where "Users"."username" = (select "Users"."username" from "Users" where new."Users"."reference" in (old."Users"."username"));
                                     
                                     
         end if;
    RETURN new;
END;
$BODY$
language plpgsql;

고 트리거 다음과 같다:

create trigger referece_points
after insert 
on "Users"
for each row
execute procedure points();

그러나 때 나는 삽입하려고 하는 새로운 값에"사용자"가 표면 다음과 같은 오류가:

ERROR: missing FROM-clause entry for table "Users" LINE 1: SELECT new."Users"."reference" in (old."Users"."username") ^ Query: SELECT new."Users"."reference" in (old."Users"."username") CONTEXT: PL/pgSQL function points() line 2 at IF
plpgsql postgresql triggers
2021-11-23 21:47:46
1

최고의 응답

0

새로운 복합변수의 유형과 관련된 테이블과 결합니다.

코드 new."Users"."reference" 하지 않습니다. 당신이해야 쓸만 new."reference".

2021-11-24 16:27:42

다른 언어로

이 페이지는 다른 언어로되어 있습니다

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................