Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Wyzwalacz Oracle do aktualizacji tej samej tabeli

Aktualizujesz tę samą tabelę, w której jest zapisany wyzwalacz. Potrzebujesz czegoś takiego:

create or replace trigger "ADDRESSES_T1"
BEFORE
insert or update on "ADDRESSES"
for each row
begin
DECLARE
   l_lat NUMBER;
   l_lng NUMBER;
   l_postcode VARCHAR2(8) := :NEW.POSTCODE;

BEGIN
  brian.POSTCODE_TO_LAT_LNG_GM_API (l_postcode, l_lat, l_lng);
  :new.location = SDO_GEOMETRY(2001, --SDO_GTYPE
                               8307, --SDO_SRID
                               SDO_POINT_TYPE(l_lng, --X lng
                                              l_lat, --Y lat
                                              null),     --Z
                               null, --SDO_ELEM_INFO_ARRAY
                               null);
END;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Obliczanie procentu w SQL

  2. Jaka jest różnica między pls_integer a binary_integer?

  3. PL/SQL używa VARRAY w KLAUZULI

  4. JDBC Cienki ciąg połączenia w Oracle używa zarówno dwukropka, jak i ukośnika

  5. wybierając NLS_LANG dla Oracle