Anda di halaman 1dari 4

Nama : Ryan Prasetya P.(09.43.

164) Kelas/Jur : Malam B / TI

1. Select BukuPerpusAnggota.NoAnggota, BukuPerpusAnggota.Nama,TglPinjam,TglKembali,Judul,BukuPengarang.Nama from BukuPerpusAnggotaPinjam A inner join BukuPerpusAnggota B on A.NoAnggota = B.NoAnggota inner join BukuPerpusInventarisasi C on C.IDInventarisasi = A.IDInvetarisasi Inner join BukuJudul D on D.IDJudul = C.IDJudul inner join BukuJudulPengarang E on E.IDJudul = D.IDJudul inner join BukuPengarang F on F.IDPengarang = E.IDPengarang Group By BukuPerpusAnggotaPinjam.IDPeminjamnan 2. Having Judul like %Database% 3. Having BukuPerpusAnggota.Nama = Zuma 4. Having tglkembali = 01/08/2005 5. Select BukuPerpusAnggota.NoAnggota, BukuPerpusAnggota.Nama,TglPinjam,TglKembali,Judul,BukuPengarang.Nama, ((cast(tglkembali) as numeric) (cast(tglpinjam) as numeric)) as LamaPinjam from BukuPerpusAnggotaPinjam A inner join BukuPerpusAnggota B on A.NoAnggota = B.NoAnggota inner join BukuPerpusInventarisasi C on C.IDInventarisasi = A.IDInvetarisasi Inner join BukuJudul D on D.IDJudul = C.IDJudul inner join BukuJudulPengarang E on E.IDJudul = D.IDJudul inner join BukuPengarang F on F.IDPengarang = E.IDPengarang Group By BukuPerpusAnggotaPinjam.IDPeminjamnan 6. Select BukuPerpusAnggota.NoAnggota, BukuPerpusAnggota.Nama,TglPinjam,TglKembali,Judul,BukuPengarang.Nama from BukuPerpusAnggotaPinjam A left join BukuPerpusAnggota B on A.NoAnggota = B.NoAnggota left join BukuPerpusInventarisasi C on C.IDInventarisasi = A.IDInvetarisasi right join BukuJudul D on D.IDJudul = C.IDJudul left join BukuJudulPengarang E on E.IDJudul = D.IDJudul left join BukuPengarang F on F.IDPengarang = E.IDPengarang Group By BukuPerpusAnggotaPinjam.IDPeminjamnan 7. CREATE PROC Cari_Buku @Judul char(30) AS SELECT BukuPerpusInventarisasi.IDJudul,KodeLokasi,Judul,BukuPengarang.Nama FROM BukuPerpusInventarisasi A INNER JOIN BukuJudul B on A.IDJudul = B.IDJudul JOIN BukuJudulPengarang C on B.IDJudul = C.IDJudul JOIN BukuPengarang D on C.IDPengarang = D.IDPengarang WHERE B.Judul = Judul GO

8. CREATE PROC IsiDenda @kd int(4), @kembali datetime(8) AS BEGIN DECLARE jum NUMERIC;

DECLARE selisih INT; selisih = (CAST (Kembali) as int) (CAST(tglkembali from BukuPerpusAnggotaPinjam where idpeminjaman = kd) AS int) ; IF (selisih > 3) THEN Jum = (selisih 3) * 2000; Update BukuPerpusAnggotaPinjam set denda= jum where idpeminjaman = kd; END IF; END; GO 9. USE [ard] GO /****** Object: Trigger [dbo].[triggeranggota] SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO ALTER TRIGGER [dbo].[triggeranggota] ON [dbo].[BukuPerpusAnggota] AFTER INSERT AS BEGIN SET NOCOUNT ON; DECLARE @RECID CHAR DECLARE @MAXNO INT

Script Date: 01/23/2012 20:26:37 ******/

SELECT @MAXNO=ISNULL(MAX(CAST(RIGHT(kode,3) AS int)),0) FROM BukuPerpusAnggota WHERE IREC=@RECID SET @DOCUMENTNO = 'AG' + (('0000' + CAST((@MAXNO + 1) AS varchar)),3) UPDATE BukuPerpusAnggota SET NoAnggota=@DOCUMENTNO WHERE IREC=@RECID END 10. USE [ard] GO /****** Object: Trigger [dbo].[triggerdenda] Script Date: 01/23/2012 20:26:37 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO ALTER TRIGGER [dbo].[triggerdenda] ON [dbo].[BukuPerpusAnggotaPinjam] AFTER INSERT AS BEGIN -- SET NOCOUNT ON added to prevent extra result sets from -- interfering with SELECT statements. SET NOCOUNT ON; DECLARE @terlambat int, @dtenda numeric(18,0)

DECLARE @total numeric(18,0), @kode char(5), @kodedel char(5), @ket varchar(20) if (select count(*) from inserted) <> 0 and (select count(*) from deleted) = 0 -insert begin SELECT @kode = BukuPerpusAnggotaPinjam FROM inserted set @ket = 'Insert ' end if (select count(*) from inserted) <> 0 and (select count(*) from deleted) <> 0 -update begin SELECT @kode = BukuPerpusAnggotaPinjam FROM deleted set @ket = 'Update ' end if (select count(*) from inserted) = 0 and (select count(*) from deleted) <> 0 -delete begin SELECT @kode = BukuPerpusAnggotaPinjam FROM deleted set @ket = 'Delete ' end

declare currData CURSOR FOR select qty * tdenda from t_detail where BukuPerpusAnggotaPinjam=@kode order by BukuPerpusAnggotaPinjam OPEN currData FETCH NEXT FROM currData INTO @terlambat, @tdenda set @total = 0 set @tdenda = 2000 WHILE @@FETCH_STATUS = 0 BEGIN set @total = @total + (@terlambat * @tdenda) FETCH NEXT FROM currData INTO @terlambat, @denda END CLOSE currData DEALLOCATE currData set @ket = @ket + ' '+cast(getdate() as varchar(10)) IF @total > 0 BEGIN update BukuPerpusAnggotaPinjam set denda = @total where idpeminjaman=@kode END END

Anda mungkin juga menyukai