#1 13-12-2010 19:53:59

bulongx
No Signal
Registered: 14-06-2009
Posts: 1

[TOLONG] trigger AFTER INSERT buat UPDATE

para abang2 db master pgsql... q minta tolong dong...

niey aq ada permasalahan, q mau buat trigger AFTER INSERT....

jadi kalo aq sdh insert di table rs_karyawan maka akan terinsert di kolom "nik" dengan otomatis, tp aku pingin nomorNya d depanNya aq kasi "PSN-" jadi nanti hasilNya yg ada d kolom "nik" td adalah misal yg terinsert nilai 1maka "PSN-1".

TOLONG YA ABANG2 MASTER DB DISINI!!!

contoh syntax insert q :

Code:

insert into rs_karyawan (nama_kar, alamat_kar, telp_kar, jabatan_kar, tmptlhr_kar, tgllhr_kar, jnsklmn_kar, pend_kar, agama_kar, psnaktf, log_kar, date_kar) values('arie', 'balongsari', '7402234', 'ob', 'surabaya', '2010-12-11 00:00:00', 'L', 'sma', 'islam', 'y', 'system', current_timestamp)";

table q :

Code:

CREATE TABLE rs_karyawan 
(
    nik         VARCHAR(10) not null, 
    nama_kar     VARCHAR(30), 
    alamat_kar    VARCHAR(100), 
    telp_kar     VARCHAR(20), 
    jabatan_kar     VARCHAR(30), 
    tmptlhr_kar     VARCHAR(30), 
    tgllhr_kar     TIMESTAMP, 
    jnsklmn_kar    VARCHAR(30), 
    pend_kar     VARCHAR(30), 
    agama_kar     VARCHAR(30), 
    psnaktf     VARCHAR(1), 
    log_kar     VARCHAR(30), 
    date_kar     TIMESTAMP, 
    CONSTRAINT PK_rs_karyawan primary key(nik)
);

auto increment q buat masukin di kolom "nik" otomatis :

Code:

CREATE SEQUENCE rs_karyawan_seq;
ALTER TABLE rs_karyawan 
    ALTER COLUMN nik 
        SET DEFAULT NEXTVAL('rs_karyawan_seq');

hasil percobaan q n' hasilNya GAGAL (MOHON DIBENERIN YANG SALAH) :

Code:

CREATE OR REPLACE FUNCTION bef_ins_rs_kar_fun()
RETURNS TRIGGER AS
$BODY$ DECLARE
DECLARE
userids VARCHAR(10);
textadd VARCHAR(10);
BEGIN
userids := NEW.nik;
textadd := 'PSN-';
UPDATE rs_karyawan SET nik=textadd+userids WHERE nik=userids;
RETURN NEW;
END;
$BODY$ LANGUAGE plpgsql;
CREATE TRIGGER bef_ins_rs_kar_trg AFTER INSERT ON rs_karyawan
FOR EACH ROW EXECUTE PROCEDURE bef_ins_rs_kar_fun();

Offline

 

Board footer

Powered by PunBB
© Copyright 2002-2008 PunBB