|
Seabgai
contoh kita ingin menampilkan baris pada tabel supplier
antara baris 5 s/d 8. Asumsikan
Anda membuat tabel supplier dengan kolom-kolom seperti skrip
di bawah ini: CREATE TABLE [supplier] (
[sp_kode] [char] (5) NOT NULL ,
[sp_nama] [varchar] (30) NULL ,
[sp_alamat] [varchar] (150) NULL ,
[sp_telepon] [varchar] (30) NULL ,
[sp_fax] [varchar] (30) NULL ,
[sp_email] [varchar] (30) NULL ,
CONSTRAINT [XPK_supplier] PRIMARY KEY CLUSTERED ([sp_kode])
)
GO Selanjutnya
buatlah prosedur dalam database yang digunakan misalkan
dengan nama proc_supp seperti skrip SQL Server di bawah ini: /********************************************************/
/* MS SQL Server
*/
/* Procedure proc_supp
*/
/* Untuk memanggil baris antara batasan bawah dan akhir */
/* (C) April 2007 Syahrial Chan
*/
/********************************************************/
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO
ALTER PROC proc_supp (@start int, @end int,@type char(1))
AS
BEGIN
DECLARE @looping int, @row int
DECLARE @sp_kode1 char(5),@sp_kode2 varchar(500),@command varchar(1000)
DECLARE c_supp SCROLL CURSOR FOR
SELECT sp_kode FROM supplier
ORDER BY sp_kode
SET @looping = 1
--Jika type = 1 retrieve row mulai dari @start s/d @end
SET @row = @end - @start + 1
IF @type = '2'
--Jika type = 2 retrieve row sebanyak @end row mulai dari row @start
SET @row = @end
ELSE
SET @row = @end - @start + 1
OPEN c_supp
FETCH ABSOLUTE @start FROM c_supp INTO @sp_kode1
SET @sp_kode2 = "'" + @sp_kode1 + "',"
WHILE @@FETCH_STATUS = 0
BEGIN
FETCH NEXT FROM c_supp INTO @sp_kode1
SET @looping = @looping + 1
IF @looping > @row
BREAK
ELSE
BEGIN
SET @sp_kode2 = @sp_kode2 + "'" + @sp_kode1 + "',"
CONTINUE
END
END
SET @sp_kode2 = left(@sp_kode2,len(@sp_kode2) - 1 )
CLOSE c_supp
DEALLOCATE c_supp
SET @command = 'SELECT * FROM supplier WHERE sp_kode IN (' + @sp_kode2 + ')'
EXEC (@command)
END
GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO
Penggunaan: Contoh-1 Tampilkan
baris dalam tabel supplier mulai dari baris ke-5 s/d baris
ke-8, maka cara memanggil procedure proc_supp adalah sebagai
berikut: EXEC proc_supp
5,8,'1' Hasil
pernyataan EXEC proc_supp
5,8,'1' adalah seperti di bawah ini: 00005,Cooperativa de Quesos 'Las Cab,Calle del Rosal 4,(98) 598 76 54,NULL,NULL
00006,Mayumi's,92 Setsuko Chuo-ku,(06) 431-7877,NULL,NULL
00007,Pavlova, Ltd.,74 Rose St. Moonie Ponds,(03) 444-2343,(03) 444-6588,NULL
00008,Specialty Biscuits, Ltd.,29 King's Way,(161) 555-4448,NULL,NULL Contoh-2 Tampilkan
baris dalam tabel supplier mulai dari baris ke-5 s/d baris
ke-8, maka cara memanggil procedure proc_supp adalah sebagai
berikut: EXEC proc_supp
5,8,'2' Hasil
pernyataan EXEC proc_supp
5,8,'2' adalah seperti di bawah ini: 00005,Cooperativa de Quesos 'Las Cab,Calle del Rosal 4,(98) 598 76 54,NULL,NULL
00006,Mayumi's,92 Setsuko Chuo-ku,(06) 431-7877,NULL,NULL
00007,Pavlova, Ltd.,74 Rose St. Moonie Ponds,(03) 444-2343,(03) 444-6588,NULL
00008,Specialty Biscuits, Ltd.,29 King's Way,(161) 555-4448,NULL,NULL
00009,PB Knäckebröd AB,Kaloadagatan 13,031-987 65 43,031-987 65 91,NULL
00010,Refrescos Americanas LTDA,Av. das Americanas 12.890,(11) 555 4640,NULL,NULL
00011,Heli Süßwaren GmbH & Co. KG,Tiergartenstraße 5,(010) 9984510,NULL,NULL
00012,Plutzer Lebensmittelgroßmärkte,Bogenallee 51,(069) 992755,NULL,NULL
Dapatkan tip
selanjutnya dengan mengunjungi website ini secara
berkala!
|
|