sql >> Databasteknik >  >> RDS >> PostgreSQL

RETURER data från uppdateringsbar vy fungerar inte?

Du var så nära;) du behöver bara uppdatera NEW.id i din trigger.

CREATE FUNCTION t0ii_person_details() RETURNS trigger AS $$
DECLARE
  addr  integer;
BEGIN
  -- Want at least a town to insert anything into table address.
  IF (NEW.town IS NOT NULL) THEN
    INSERT INTO address(street, town)
      VALUES (NEW.street, NEW.town)
      RETURNING id INTO addr;
  ELSE
    addr := NULL;
  END IF;

  INSERT INTO person(first_name, family_name, address)
    VALUES (NEW.first_name, NEW.family_name, addr) 
    -- here is the only change I made
    RETURNING id INTO NEW.id;
  RETURN NEW;
END; $$ LANGUAGE plpgsql SECURITY DEFINER;



  1. Hur itererar jag en tabell enligt fasta tidsintervall i Postgres?

  2. Docker med mysql:Felet betyder att mysqld inte har åtkomsträttigheter till katalogen

  3. JOIN mysql php-funktion istället för varje loop

  4. Vad är ett bra sätt att hantera db-anslutningen i en Google Cloud SQL (GAE) Python-app?