Showing posts with label SQL Server. Show all posts
Showing posts with label SQL Server. Show all posts

Thursday, 15 August 2019

Belajar Database SQL Server Untuk Pemula Part2

Melanjutkan postingan Sebelumnya tentang belajar database SQL Server, pada postingan seblumnya saya sudah sharing cara membuat database, membuat table, alter table, dan insert, update, delete, select data di SQL Server.

Pada postingan kali saya akan sharing tentang stored procedure, stored procedure adalah sekumpulan program/query SQL yang tersimpan didalam database dimana didalam stored procedure ini kita bisa melakukan insert, update, delete, select data dan bisa juga memanggil stored procedure lain.

pada postingan Sebelumnya sudah membuat table TB_SISWA seperti berikut :



1. Membuat Stored Procedure Insert Data

CREATE PROCEDURE [dbo].[sp_InsertData] --Nama Stored Procedure
 -- Stored Procedure parameter
 @nis varchar(10),
 @nama varchar(50),
 @alamat varchar(100),
 @tgl_lahir date,
 @j_kelamin varchar(10)
AS
BEGIN
 -- SET NOCOUNT ON added to prevent extra result sets from
 -- interfering with SELECT statements.
 SET NOCOUNT ON;
  -- Insert statements for procedure here
 INSERT INTO TB_SISWA values(@nis,@nama,@alamat,@tgl_lahir,@j_kelamin)

END

untuk mencoba stored procedure insert data apakah sudah berhasil atau tidak tuliskan query berikut :

sp_InsertData '10001','Budi','Malang','2010-01-01','Laki-laki'

lalu kita coba select data dari table tb_siswa

select * from TB_SISWA



jika kita coba menjalankan query

sp_InsertData '10001','Budi','Malang','2010-01-01','Laki-laki'
akan muncul error seperti ini karena siswa dengan nis 10001 sudah ada didalam table tb_siswa



2. Stored Procedure Update Data

CREATE PROCEDURE [dbo].[sp_UpdateData] --Nama Stored Procedure
 -- Stored Procedure parameter
 @nis varchar(10),
 @nama varchar(50),
 @alamat varchar(100),
 @tgl_lahir date,
 @j_kelamin varchar(10)
AS
BEGIN
 -- SET NOCOUNT ON added to prevent extra result sets from
 -- interfering with SELECT statements.
 SET NOCOUNT ON;
        
 UPDATE TB_SISWA SET nama = @nama, alamat = @alamat, tg_lahir = @tgl_lahir,
        j_kelamin = @j_kelamin where nis = @nis

END

menjalankan stored procedure update data :

sp_UpdateData '10001','Budi Kuncoro','Surabaya','2010-01-01','Laki-laki'

dan hasilnya akan seperti berikut :


jika kita menjalankan query update tapi dengan nomor induk siswa yang belum ada di tb_siswa tidak akan terlihat error seperti berikut :

sp_UpdateData '10002','Budi Kuncoro','Surabaya','2010-01-01','Laki-laki'



kita update stored procedure sp_updateData menjadi seperti berikut :

ALTER PROCEDURE [dbo].[sp_UpdateData] --Nama Stored Procedure
 -- Stored Procedure parameter
 @nis varchar(10),
 @nama varchar(50),
 @alamat varchar(100),
 @tgl_lahir date,
 @j_kelamain varchar(10)
AS
BEGIN
 -- SET NOCOUNT ON added to prevent extra result sets from
 -- interfering with SELECT statements.
 SET NOCOUNT ON;
    
 if NOT EXISTS(select * from tb_siswa where nis = @nis)
  begin
   select 'Data siswa tidak ditemukan'
  end
 else    
  UPDATE TB_SISWA SET nama = @nama, alamat = @alamat, 
                tg_lahir = @tgl_lahir, j_kelamin = @j_kelamain where nis = @nis

END

kita tambahkan kondisi pengecekan apakah data siswa berdasarkan nis sudah ada di table apa belum, jika tidak ada akan muncul Data siswa tidak ditemukan




3. Stored Procedure Delete Data

CREATE PROCEDURE [dbo].[sp_DeleteData] --Nama Stored Procedure
 -- Stored Procedure parameter
 @nis varchar(10)
AS
BEGIN
 -- SET NOCOUNT ON added to prevent extra result sets from
 -- interfering with SELECT statements.
 SET NOCOUNT ON;
    
 if NOT EXISTS(select * from tb_siswa where nis = @nis)
  begin
   select 'Data siswa tidak ditemukan'
  end
 else    
                begin
          DELETE TB_SISWA where nis = @nis
                        select 'Data siswa berhasil dihapus'
                end

END




4. Stored Procedure Select Data

CREATE PROCEDURE [dbo].[sp_GetData] --Nama Stored Procedure
 -- Stored Procedure parameter
 @nis varchar(10)
AS
BEGIN
 -- SET NOCOUNT ON added to prevent extra result sets from
 -- interfering with SELECT statements.
 SET NOCOUNT ON;
        
        if (@nis = '')
          begin
             select * from tb_siswa
          end
        else
 if NOT EXISTS(select * from tb_siswa where nis = @nis)
  begin
   select 'Data siswa tidak ditemukan'
  end
 else    
  select * from TB_SISWA where nis = @nis

END





Wednesday, 23 January 2019

Stored Procedure di SQL Server

 

Pada postingan ini saya akan sharing tentang stored procedure di SQL Server, apa itu stored procedure? berikut sedikit penjelasannya :

Stored Procedure
Stored procedure merupakan sekumpulan perintah-perintah SQL yang tersimpan dengan nama tertentu dan diproses sebagai sebuah kesatuan atau bisa dikatakan sebuah sub program yang tersimpan didatabase. Adapun proses-proses yang dapat dilakukan dengan stored procedure adalah sebagai berikut :
  • Menerima parameter sebagai input dan mengembalikan nilai-nilai dalam bentuk parameter output kepada yang memanggilnya.
  • Berisi perintah-perintah program yang melakukan operasi pengolahan data didalam database atau memanggil stored procedure lainnya.
Stored procedure memudahkan kita dalam men-develop suatu program/aplikasi dengan bahasa programming seperti PHP, VB.Net, C#, Java ataupun bahasa programming lainnya yang bisa terhubung ke SQL Server dimana semua logic program bisa kita tuliskan didalam stored procedure dan dari aplikasi kita hanya mengirimkan parameter yang dibutuhkan saja kedalam stored procedure, dengan menggunakan stored procedure ketika ada perubahan logic program kita tidak perlu merubah program di front-end cuku di stored procedurenya saja. Selain itu prosesnya juga akan lebih cepat dengan kita menggunakan stored procedure karena prosesnya langsung di server.

itulah sedikit penjelasan tentang stored procedure, langsung saja kita buka SQL Server Management Studio-nya dan kita buat database baru dengan nama EXAM lalu kita buat table dengan nama barang struktur-nya seperti berikut :

 


Setelah itu kita buka new query window, lalu tuliskan query berikut untuk membuat stored procedure baru :

Stored procedure Insert Data

CREATE PROCEDURE [dbo].[sp_InsertBarang]
    -- Add the parameters for the stored procedure here
    @kodebarang varchar(50),
    @namabarang varchar(50),
    @satuan     varchar(50)
AS
BEGIN
    -- SET NOCOUNT ON added to prevent extra result sets from
    -- interfering with SELECT statements.
    SET NOCOUNT ON;

    -- Insert statements for procedure here
    Insert into barang values(@kodebarang,@namabarang,@satuan)
END


Stored Procedure Update Data

CREATE PROCEDURE [dbo].[sp_UpdateBarang]
    -- Add the parameters for the stored procedure here
    @kodebarang varchar(50),
    @namabarang varchar(50),
    @satuan     varchar(50)
AS
BEGIN
    -- SET NOCOUNT ON added to prevent extra result sets from
    -- interfering with SELECT statements.
    SET NOCOUNT ON;

    -- Insert statements for procedure here
    Update barang set namabarang = @namabarang, satuan = @satuan
        where kodebarang = @kodebarang
END


Stored Procedure Delete Data

CREATE PROCEDURE [dbo].[sp_DeleteBarang]
    -- Add the parameters for the stored procedure here
    @kodebarang varchar(50)
AS
BEGIN
    -- SET NOCOUNT ON added to prevent extra result sets from
    -- interfering with SELECT statements.
    SET NOCOUNT ON;

    -- Insert statements for procedure here
    Delete barang where kodebarang = @kodebarang
END


Stored Proceduere Select All Data

CREATE PROCEDURE [dbo].[sp_getAllBarang]
    -- Add the parameters for the stored procedure here
AS
BEGIN
    -- SET NOCOUNT ON added to prevent extra result sets from
    -- interfering with SELECT statements.
    SET NOCOUNT ON;

    -- Insert statements for procedure here
    Select * From barang
END

Stored Procedure Select Data Berdasarkan Kode Barang

CREATE PROCEDURE [dbo].[sp_GetBarangByKode]
    -- Add the parameters for the stored procedure here
    @kodebarang varchar(50)
AS
BEGIN
    -- SET NOCOUNT ON added to prevent extra result sets from
    -- interfering with SELECT statements.
    SET NOCOUNT ON;

    -- Insert statements for procedure here
    Select * From barang where kodebarang = @kodebarang
END

Memanggil Stored Procedure

Insert data :

exec sp_InsertBarang 'BRG001','Kopi ABC','PC'
exec sp_InsertBarang 'BRG002','Indomie','PC'
exec sp_InsertBarang 'BRG003','Beras','KG'


Setelah menuliskan query diatas jalankan query-nya dengan cara klik execute atau F5 pada keyboard :
 

Hasil insert data



Memanggil stored procedure update data :

exec sp_UpdateBarang 'BRG001','Kopi ABC Moca','PC'

execute query :


Nama barang BRG001 berubah menjadi Kopi ABC Moca

 

Menjalankan stored procedure Delete Data : 

exec sp_DeleteBarang 'BRG003'




jalankan stored procedure untuk menampilkan semua barang 

 


Barang dengan kode BRG003 berhasil dihapus





Stored procedure untuk menampilkan barang berdasarkan kode barang :


exec sp_GetBarangByKode 'BRG002'





Sekian sharing kali ini semoga bermanfaat :D


 

ABAP CDS View Part 10 : Authorization & DCL untuk ABAP CDS

Authorization & DCL di ABAP CDS | Panduan Lengkap (PFCG, @AccessControl, DCL) Authorization & DCL untuk ABAP CDS — Pandua...