PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

ВРЪЩАНЕТО на данни от изглед с възможност за актуализиране не работи?

Бяхте толкова близо;) трябва само да актуализирате NEW.id във вашия тригер.

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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PostgreSQL - създайте нова база данни чрез pgAdmin UI

  2. Postgresql :Връзката е отказана. Проверете дали името на хоста и порта са правилни и че администраторът на пощата приема TCP/IP връзки

  3. Изключете припокриващи се периоди във времевата агрегатна функция

  4. Sequelize.js все още изтрива реда на таблицата, дори ако paranoid е зададен на true

  5. Проблеми с паралелността при извличане на идентификатори на нововмъкнати редове с ibatis