Kamis, 13 Januari 2011

Field Autonumber


Autonumber  adalah field yang isinya akan secara otomatis terisi menurut urutan tertentu.

Field Autonumber dapat dibuat dengan 2 cara :
1.    Menggunakan field Identity (Autonumber).  Field ini harus bertipe Int atau Numeric, kemudian tentukan Seed (Nilai dimulai dari berapa), Increment (Pertambahan Nilai)
2.    Menggunakan StoreProcedure / Trigger / Function.  Field ini akan dibuat oleh program dengan algoritma sbb :
1.    Cari Nomor Akhir (Nomor terakhir yang ada di tabel)
2.    Buat Nomor Baru (Nomor Akhir ditambah 1, dengan asumsi incrementnya 1)
3.    Insert data dengan pada Field Autonumber dengan Nomor Baru

Latihan :
NIP Formatted

SELECT     CONVERT(varchar, DATEPART(yyyy, TglBuat)) + '/' + RIGHT('00' + CONVERT(varchar, DATEPART(mm, TglBuat)), 2) + '/' + CONVERT(varchar, Gender)
                      + '/' + CONVERT(varchar, DATEPART(dd, TglLahir)) + CONVERT(varchar, DATEPART(mm, TglLahir)) + RIGHT('00' + CONVERT(varchar, DATEPART(yy,
                      TglLahir)), 2) + '/' + CONVERT(varchar, NoKTP) AS NIP, Nama
FROM         dbo.TPenduduk





Latihan Set NoDaftar

CREATE PROCEDURE SP_TambahMahasiswa
  @MNama varchar(50),
  @MGender char(1),
  @MJurusan varchar(5)
AS
BEGIN
DECLARE @NOAKHIR INT
DECLARE @NOBaru INT
DECLARE @KodeM varchar(20)
DECLARE @MTgl datetime

--1.Cari Nomor Akhir
select @NoAkhir = Max(convert(int, substring(NoDaftar,8,4)))
from Mahasiswa

--2.Cari Nomor Baru
if @NoAkhir is null
  Set @Nobaru=1
else
  Set @NoBaru = @NoAkhir + 1
Set @MTgl = Getdate()
Set @KodeM = CONVERT(varchar,datepart(yy,@MTgl)) + '/' + @MGender + '-' + RIGHT('00000'+Convert(varchar, @NoBaru), 4) + '/' + @MJurusan

--3.Insert Data baru
Insert Mahasiswa (NoDaftar, Nama, Gender, Jurusan) Values (@KodeM, @MNama, @MGender, @MJurusan)

END



Tidak ada komentar:

Posting Komentar