Kamis, 20 Juni 2013

Praktikum Pemrograman Basis Data (Pertemuan 5)

Bagi sobat duniaku yang kuliah di Stikom Prak. PBD ini adalah mata kuliah di semester 3. monggo di pelajari source code jawaban pertemuan 5 :


alter procedure sp_getnilaimhs(@nama varchar(50), @xxx int output)
as
begin
declare @tugas int, @uts int, @uas int, @nim varchar(11), @status int
set @status = dbo.fcekmhs(@nama)
    if(@status = 1)
    begin
    set @nim = (select nim from mahasiswa where nama = @nama)
    declare cNilai cursor for (select tugas, uts, uas from nilai where nim = @nim)
    open cNilai
    fetch next from cNilai into @tugas, @uts, @uas
    while @@fetch_status = 0
    begin
    print 'Tugas = '+convert (varchar(20),@tugas)+'        UTS = ' +convert (varchar(20),@uts)+ '        UAS = '+convert (varchar(20),@uas)
    fetch next from cNilai into @tugas, @uts, @uas
    end
    close cNilai
    deallocate cNilai
    end
   
    else
    begin
    set @xxx = -1
    end
end

declare @p int
exec sp_getnilaimhs 'asd',
@xxx = @p output
print @p

/*
alter function fcekmhs(@nama varchar(50))
returns int
as
begin
    declare @status int, @data varchar(50)
    set @data = (select nama from mahasiswa where nama = @nama)
    if(@data <> @nama)
    begin
    set @status = -1
    end
   
    else
    begin
    set @status = 1
    end
    return @status
end
*/


----------------------------------------------------------


alter procedure sp_insertmhs (@nama varchar(20), @alamat varchar(50), @kota varchar(20), @jns_kelamin char(1), @status char(1), @quota int)
as
begin
declare @nim varchar(11), @jumlah int
set @nim = dbo.fbuatnim()
insert into mahasiswa values(@nim, @nama, @alamat, @kota, @jns_kelamin, @status, @quota)
set @jumlah = (select count(nim) from mahasiswa)
print 'Jumlah mahasiswa adalah : ' +convert(varchar(20),@jumlah)
end

exec sp_insertmhs 'asdasd','hauumm','jombang','P','B',3

alter function fbuatnim()
returns varchar(11)
as
begin
declare @nim varchar(11), @no int, @tampung int, @tahun varchar(4)
set @tahun = (select right(year(getdate()),2))
set @no = (select count(nim) from mahasiswa where nim like @tahun+'41010%')
set @tampung = @no + 1
set @nim = convert(varchar(2), right(year(getdate()),2))+ '41010' + right('0000'+convert(varchar(10), @tampung),4)
return @nim
end

SEMOGA BERMANFAAT

Tidak ada komentar:

Posting Komentar