त्रुटि: गुम से - खंड में प्रवेश के लिए टेबल "उपयोगकर्ता"

0

सवाल

मैं का उपयोग कर रहा हूँ postgresql और pgadmin और मैं इस के लिए नया हूँ. मैं एक टेबल पर "उपयोगकर्ता" है कि निम्न कॉलम (Username, Name, Email, Phone, Discount, Password, token, serial, created_on, updated_on, points, reference). मैं कोशिश कर रहा था बनाने के लिए एक ट्रिगर के लिए मेज इतना है कि हर एक नया सम्मिलित होता है के साथ एक मौजूदा उपयोगकर्ता नाम के संदर्भ में, क्षेत्र के अंक का इस्तेमाल किया यूज़रनेम incremented होगा 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ý
..................................................................................................................

इस श्रेणी में लोकप्रिय

लोकप्रिय सवाल इस श्रेणी में