Spatial

Create Trigger in PostgreSQL

Berikut ini adalah tutorial bagaimana membuat sebuah trigger di database postgre. trigger ini berfungsi menciptakan sebuah aksi yang ter pantik akibat ada aktivitas update, insert atau delete dalam sebuah database.

pertama kita coba siapkan dulu sebuah tabel yang akan kita pasang sebuah trigger

CREATE TABLE TitikObject(
   id int4 serial primary key,
   koordinat geometry(Point,4326),
   longitude double precision NULL,
   latitude double precision NULL
);

Setelah itu kita siapkan dulu sebuah Function yang akan melakukan sebuah kegiatan ekstrak data geometry menjadi data numeric yang kemudian dimasukkan kedalam field longitude dan latitude. berikut ini adalah function

CREATE OR REPLACE FUNCTION public.extractgeom()
  RETURNS trigger AS
$BODY$
BEGIN
IF pg_trigger_depth() <> 1 THEN
        RETURN NEW;
END IF;
 update public.titikobject set longitude=ST_X(koordinat), latitude= ST_Y(koordinat)
 where id=NEW.id;
  RETURN NEW;
  
END;
$BODY$
  LANGUAGE plpgsql VOLATILE SECURITY DEFINER

setelah function terbuat, selanjutnya kita siapkan sebuah trigger yang akan mengaktifkan function jika ada aktivitas insert atau update di tabel titikobject

CREATE TRIGGER tr_extractgeom
  AFTER INSERT OR UPDATE ON public.titikobject
    FOR EACH ROW 
    EXECUTE PROCEDURE public.extractgeom();

selanjutnya kita coba tes dengan memasukkan sebuah record ke tabel titikobject. pada saat proses insert ini saya hanya memasukkan nilai koordinatnya saja.

insert into public.titikobject (koordinat) 
values(ST_SetSRID(ST_MakePoint(-71.1043443253471, 42.3150676015829),4326));

terlihat pada query diatas saya hanya memasukkan 1 buah value saja ke field koordinat, namun karena sudah ada trigger maka otomatis value utk longitude dan latitude field seharusnya langsung terisi. mari kita lihat hasilnya

select * from public.titikobject

dan ternyata data geometry untuk field koordinat sudah ter ekstrak.

 

demikian semoga bermanfaat.

admin

Recent Posts

Workshop GIS di PT. AIR MINUM INTAN BANJAR (PERSERODA)

Alhamdulillah telah dipercaya untuk memberikan workshop GIS dengan menggunakan perangkat lunak QGIS di PT. AIR…

3 years ago

Workshop GIS di PERUMDA AM Tirta Ratu Samban

Terimakasih atas kepercayaannya kepada kami sehingga terselenggara Workshop QGIS utk PERUMDA AM Tirta Ratu Samba…

3 years ago

Workshop QGIS Online di Tirta Kahuripan

terimakasih atas kepercayaan Perumda Tirta Kahuripan Kab Bogor kepada saya utk mengimplementasikan GIS Online yang…

3 years ago

Digitasi Vector Menggunakan Spesific Length, Angles or Coordinates

Para operator #GIS kadang mendapatkan sebuah gambar situasi yang diperoleh dari kondisi dilapangan yang kemudian…

4 years ago

Video Seri Belajar Snapping di QGIS

Snapping di QGIS. teknik ini sifatnya wajib untuk dikuasai oleh para operator QGIS dalam kegiatan…

4 years ago

Video Seri Belajar EPANET

Epanet (Environmental Protection Agency Network ) adalah sebuah program komputer yang memiliki kemampuan melaksanakan simulasi…

4 years ago