Database : MS SQL Server 2000
Untuk mebuat sebuah laporan buku besar yang memuat Debet – Kredit – Saldo, maka dibutuhkan sebuah Store Procedure. Dalam Store Procedure ini diimplementasikan pemakaian CURSOR. Contoh berikut adalah sebuah strore procedure untuk bisnis pulsa, dimana parameter yang dikirim adalah Kode Outlet dan tanggal.
CREATE PROCEDURE sp_LaporanTrx
@OutletID char(3),
@Tgl char(12)AS
declare @TrxID varchar(15)
Declare @uraian varchar(50)
declare @TglTrx datetime
declare @debet money
declare @kredit money
declare @saldo money
declare @saldosblm money
declare @status varchar(10)
declare @requester varchar(20)
declare @err_no intSET @err_no=0
BEGIN TRAN
DECLARE Laporan CURSOR FOR
SELECT *
FROM (SELECT MKiosID AS TrxID, ‘Trx : ‘ + ProductID + ‘.’ + HPKonsumen AS Uraian, TglTrx, 0 AS Debet,
CASE WHEN Status = 3 THEN 0 ELSE Harga END AS Kredit,
CASE WHEN Status = 3 THEN ‘Gagal’ WHEN Status = 2 THEN ‘Sukses’ ELSE ‘Pending’ END AS Status, Requester
FROM dbo.tblMKios
WHERE (OutletID = @OutletID) AND (CONVERT(char(12), TglTrx, 112) = @Tgl)
UNION
SELECT RefID AS TrxID, Description AS Uraian, TglTransaksi AS TglTrx, Jumlah AS Debet, 0 AS Kredit, ‘Sukses’ AS Status,
‘System’ AS Requester
FROM dbo.tblOutletDeposit
WHERE (OutletID = @OutletID) AND (CONVERT(char(12), TglTransaksi, 112) =@Tgl)
UNION
SELECT OutletID + CONVERT(char(12), Tgl, 112) AS TrxID, ‘Saldo Awal ‘ + CONVERT(char(12), Tgl, 106) AS Uraian, Tgl AS TglTrx, Saldo AS Debet,
0 AS Kredit, ‘Sukses’ AS Status, ‘System’ AS Requester
FROM dbo.tblSaldoHarian
WHERE (OutletID = @OutletID) AND (CONVERT(char(12), Tgl, 112) = @Tgl)) X
ORDER BY TglTrx ASC
–End of Declareset @saldosblm=0
–drop Table #TempLap
CREATE TABLE #TempLap (TrxID varchar(20) PRIMARY KEY, Uraian varchar(160), TglTrx smalldatetime, Debet money, Kredit Money, Saldo Money, Status varchar(20), Requester varchar(20))OPEN Laporan
–Proses per Record
FETCH Laporan INTO @TrxID, @uraian, @TglTrx, @debet, @kredit, @status, @requesterWHILE (@@FETCH_STATUS=0)
BEGIN
Set @saldo=@debet-@kredit+@saldosblm
INSERT INTO #TempLap VALUES (@TrxID, @uraian, @TglTrx, @debet, @kredit, @Saldo, @status, @requester)
set @saldosblm =@saldoFETCH Laporan INTO @TrxID, @uraian, @TglTrx, @debet, @kredit, @status, @requester
END
Close Laporan
DEALLOCATE Laporan
Select * from #TempLap order by TglTrx
if @err_no=0
commit tran
else
begin
RaisError(‘SQLServer : Penyimpanan Gagal!’,16,1)
rollback tran
return
end
GO
Anggap saya punya skrip query, dimana v_raptor_tpm adalah view yang saya olah dari tabel fisik raptor_tpm.
Masalahnya:
Respons time Querynya cukup lambat (sekitar 1 menit 42 detik ). Dan yang saya tanya, cara manakah lebih cepat untuk diaksekusi, dengan view atau panggil langsung tabel fisik-nya, dengan konsekuensi skrip queri-nya jauh lebih panjang?
Regards,
Lionel
Bung Meteor, pada prinsipnya, query kita gunakan ketika kita ingin menggabungkan beberapa tabel yang tidak bisa di handle dengan single table. Lambatnya query tergantung ke-kompleks-annya. Coba periksa dan sederhanakan kembali query anda, atau buat ke strore procedure. Tks.
View-nya saya create dari satu tabel, dimana kolom saya susun menjadi row.
TINVDATE TVLMSLD TPW_LN13A TPW_LN_15 TPW_LN_50 TPW_LN_11 TPW_LN_21 TPW_LN_29 TPW_LN_39 TPW_LN_44 TPW_LN_22 TPW_LN_23 TPW_LN_31 TPW_LN_35 TPW_LN_36 TPW_LN_40 TPW_LN44A TPW_LN_46
20070101 32 204016.32 224928 114347.58 204016.32 204016.32 182838.18 162678.74 161804.02 2 8 5 6 3 10 12 7
Menjadi
tgl id nilai
20070101 6 5
20070101 4 8
20070101 10 10
20070101 16 161804.02
20070101 13 204016.32
20070101 18 224928
20070102 3 2
20070102 7 6
20070102 2 294320.11
20070102 15 294320.11
20070103 3 2
20070103 16 231706.24
regards,
mets throwback hat for cheap youth nhl jerseys chicago blackhawks 37 adam burish 2010 stanley cup new third white jerseys pandora legacy ring nike buffalo bills 94 mario williams light blue limited womens jersey ladies kurta dress comfy princess dresses
npbusher http://www.npbusher.com/
kommunionkleid gr 152 victorian gowns sac ? main paquetage scarpe air force vestito camicia verde militare jefferson vikings jersey
wegoodlinks https://www.wegoodlinks.com/
nike england soccer jacket iphone 11 pro max lens case sneaker schwarz lack damen yeezy 700 v2 carbon blue adidas coneo qt schwarz plataformas en yute
tamilpathivu https://www.tamilpathivu.com/
schutzh?lle samsung a10 converse daim marron plateforme tenis guess con brillos dolcevita cammello uomo bustier corset for wedding dress sac rando 30 litres
lehuotao https://www.lehuotao.com/
???????? ???????? Twitch