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

Тригери:как мога да инициализирам стойността на таблица със стойност на друга?

Тъй като това не е начинът, по който променяте стойност в реда, който се вмъква - трябва да я промените с помощта на :NEW синтаксис (документация ); и не сте показали как да извлечете подходяща стойност от MODELO таблица.

Трябва да направите нещо като:

CREATE OR REPLACE TRIGGER inicializar_plazas_disponibles
BEFORE INSERT OR UPDATE ON vuelo
FOR EACH ROW
BEGIN
    SELECT capacidad
    INTO :NEW.plazas_disponibles
    FROM modelo
    WHERE ... some condition, presumably another :NEW column ...
END;

(Въпреки че не съм напълно сигурен дали можете да изберете направо в :NEW стойност - опитайте това, но ако не, ще трябва да декларирате променлива от същия тип, вместо това изберете в това и след това го присвоете на :NEW ).




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Escape долна черта в PL/SQL

  2. Автоматично задаване на началната стойност на последователността на Oracle

  3. Как да намерите събитието на чакане История на сесията на Oracle

  4. Списък за връщане<String> с помощта на Spring jdbc от съхранена процедура на Oracle с персонализиран обект

  5. Итерацията на ResultSet с помощта на JDBC за Oracle отнема много време около 16 секунди?