You are not logged in.
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 :
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 :
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 :
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) :
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