+ All Categories
Home > Documents > Part 12- T-SQL

Part 12- T-SQL

Date post: 14-Dec-2015
Category:
Upload: maya-endah
View: 62 times
Download: 0 times
Share this document with a friend
Description:
dfgsdtrtw
26
Transact Transact-SQL SQL (T (T-SQL) SQL) www.rahmadani.net 1 Pertemuan ke-12
Transcript

TransactTransact--SQLSQL(T(T--SQL)SQL)

www.rahmadani.net 1

TransactTransact--SQLSQL(T(T--SQL)SQL)

Pertemuan ke-12

Agenda..Agenda..• Pengertian T-SQL• Bagaimana kerangka T-SQL• Pendefinisian variabel• Select dan Set statement dalam T-SQL• Print statement• Variabel global• If statement• While• Continue dan Break• Return statement• Case statement

www.rahmadani.net 2

• Pengertian T-SQL• Bagaimana kerangka T-SQL• Pendefinisian variabel• Select dan Set statement dalam T-SQL• Print statement• Variabel global• If statement• While• Continue dan Break• Return statement• Case statement

Pemahaman Dasar (1)Pemahaman Dasar (1)• TRANSACT-SQL adalah bahasa pemrogramanyang dikembangan dari SQL. Seperti diketahui,SQL adalah bahasa non procedural, artinya alurprogram tidak seperti bahasa pemrograman biasa,melainkan melalui "request" dan "response".

• Melalui instruksi SQL seseorang melakukan queryatau transaksi, yang kemudian akan menerimajawaban dari Database Server berupa hasil atauResultSet.

• Query dan Transaksi dilakukan di bagian Client,sedangkan pemrosesan dilakukan pada Server.

www.rahmadani.net 3

• TRANSACT-SQL adalah bahasa pemrogramanyang dikembangan dari SQL. Seperti diketahui,SQL adalah bahasa non procedural, artinya alurprogram tidak seperti bahasa pemrograman biasa,melainkan melalui "request" dan "response".

• Melalui instruksi SQL seseorang melakukan queryatau transaksi, yang kemudian akan menerimajawaban dari Database Server berupa hasil atauResultSet.

• Query dan Transaksi dilakukan di bagian Client,sedangkan pemrosesan dilakukan pada Server.

Pemahaman Dasar (2)Pemahaman Dasar (2)• TRANSACT-SQL mengembangkan kemampuan

SQL, sehingga TRANSACT-SQL dapatmelengkapi SQL dengan instruksi logic(procedural logic), yaitu seperti layaknyaprogram aplikasi.

• Hasil proses SQL-Server (ResultSet) dapatdiolah lebih lanjut dengan menggunakan logicpemrograman procedural seperti Fungsi,Prosedur, While, Case, If Then Else dan lainnya.

www.rahmadani.net 4

• TRANSACT-SQL mengembangkan kemampuanSQL, sehingga TRANSACT-SQL dapatmelengkapi SQL dengan instruksi logic(procedural logic), yaitu seperti layaknyaprogram aplikasi.

• Hasil proses SQL-Server (ResultSet) dapatdiolah lebih lanjut dengan menggunakan logicpemrograman procedural seperti Fungsi,Prosedur, While, Case, If Then Else dan lainnya.

Kerangka TRANSACTKerangka TRANSACT--SQLSQL• TRANSACT-SQL dimulai dengan

deklarasi variable dan disusul dengan BlokProgram.

DECLARE @nama_variable tipe_variable

www.rahmadani.net 5

DECLARE @nama_variable tipe_variable

BLOK PROGRAM –WITH OR WITHOUT BEGIN - END

Pendefinisian Variable TPendefinisian Variable T--SQLSQL• Variable harus dideklarasikan sebelum digunakan.• Nama variable selalu dimulai dengan karakter @.• Variable dapat diberikan nilai melalui instruksi

SELECT ataupun SET.Contoh;DECLARE@v1 int, /* deklarasi variable */

@nama varchar(30)select @v1=100 /* memberikan nilai 100 ke v1 */

www.rahmadani.net 6

• Variable harus dideklarasikan sebelum digunakan.• Nama variable selalu dimulai dengan karakter @.• Variable dapat diberikan nilai melalui instruksi

SELECT ataupun SET.Contoh;DECLARE@v1 int, /* deklarasi variable */

@nama varchar(30)select @v1=100 /* memberikan nilai 100 ke v1 */

SELECT dan SET dalam TSELECT dan SET dalam T--SQLSQL• SELECT digunakan juga untuk eksekusi aritmatika

atau lainnya.Contoh:– select @v1 = @v1 – 100– select @tgl_skrg = now

• Variable dapat digunakan untuk mengambil nilaidari sebuah query:Contoh:– select @jml_maksimal = max(sallary)from SallaryEmployee

1. Penggunaan SELECT

www.rahmadani.net 7

• SELECT digunakan juga untuk eksekusi aritmatikaatau lainnya.Contoh:– select @v1 = @v1 – 100– select @tgl_skrg = now

• Variable dapat digunakan untuk mengambil nilaidari sebuah query:Contoh:– select @jml_maksimal = max(sallary)from SallaryEmployee

• Selain menggunakan perintah select untukmemasukkan/setting variabel, dapat jugadipergunakan perintah SET

• Penggunaan SET lebih direkomendasikandibandingkan menggunakan SELECTuntuk variabel.

• Contoh :SET @nama = ‘Kiki’

2. Penggunaan SET

www.rahmadani.net 8

• Selain menggunakan perintah select untukmemasukkan/setting variabel, dapat jugadipergunakan perintah SET

• Penggunaan SET lebih direkomendasikandibandingkan menggunakan SELECTuntuk variabel.

• Contoh :SET @nama = ‘Kiki’

PRINT dalam TPRINT dalam T--SQLSQL• PRINT adalah fungsi yang menampilkan teks

dan variable pada console (layar).

Contoh: Simpan dengan nama:testprint.sql

DECLARE @nama varchar(20)SELECT @nama = 'Meja'PRINT 'nama=' + @nama

www.rahmadani.net 9

• PRINT adalah fungsi yang menampilkan teksdan variable pada console (layar).

Contoh: Simpan dengan nama:testprint.sql

DECLARE @nama varchar(20)SELECT @nama = 'Meja'PRINT 'nama=' + @nama

Contoh; Penggunaan SELECT dan PRINTContoh; Penggunaan SELECT dan PRINTDECLARE@Nama varchar(10),@Tinggal varchar(50),@Gaji int,@No int,@Tanggal datetimeSELECT @No=2SELECT @Nama='Areef'SELECT @Tinggal='Mbandunk'SELECT @Gaji=5000000SELECT Tanggal= getdate()PRINT (@No)PRINT (@Nama)PRINT (@Gaji)PRINT (@Tinggal)PRINT (@Tanggal)

Simpan dengan nama: ListingTSQL1.sql

www.rahmadani.net 10

DECLARE@Nama varchar(10),@Tinggal varchar(50),@Gaji int,@No int,@Tanggal datetimeSELECT @No=2SELECT @Nama='Areef'SELECT @Tinggal='Mbandunk'SELECT @Gaji=5000000SELECT Tanggal= getdate()PRINT (@No)PRINT (@Nama)PRINT (@Gaji)PRINT (@Tinggal)PRINT (@Tanggal)

Contoh Penggunaan SET dalam Program

DECLARE@Nama varchar(10),@Tinggal varchar(50),@Gaji int,@No int,@Tanggal datetimeSET @No=2SET @Nama='Areef'SET @Tinggal='Mbandunk'SET @Gaji=5000000SET @Tanggal= getdate()

PRINT (@No)PRINT (@Nama)PRINT (@Gaji)PRINT (@Tinggal)PRINT (@Tanggal)

Simpan dengan nama: cobaSET.sql

www.rahmadani.net 11

Contoh Penggunaan SET dalam Program

DECLARE@Nama varchar(10),@Tinggal varchar(50),@Gaji int,@No int,@Tanggal datetimeSET @No=2SET @Nama='Areef'SET @Tinggal='Mbandunk'SET @Gaji=5000000SET @Tanggal= getdate()

PRINT (@No)PRINT (@Nama)PRINT (@Gaji)PRINT (@Tinggal)PRINT (@Tanggal)

Variable GlobalVariable Global• Variable Global adalah variable yang disiapkan oleh SQL-Server untuk memberikan informasi kepada Client. Jadivariable global dapat digunakan untuk seluruh program.

• Nama variable global diawali dengan @@.Contoh:@@error– Bilangan bulat, yang menyatakan nomor error. Jika variable tersebut

tidak sama dengan 0, maka sistem memberikan indikasi bahwaterjadi error dan identitas error dinyatakan dalam angka.

@@cursor_rows– Nilai balik dari cursor yang terakhir kali diolah.@@server_name : Nama dari SQL Server lokal@@Max_Connections : Jumlah maksimum koneksi secara bersama@@language : bahasa yang digunakan sekarangDll..

www.rahmadani.net 12

• Variable Global adalah variable yang disiapkan oleh SQL-Server untuk memberikan informasi kepada Client. Jadivariable global dapat digunakan untuk seluruh program.

• Nama variable global diawali dengan @@.Contoh:@@error– Bilangan bulat, yang menyatakan nomor error. Jika variable tersebut

tidak sama dengan 0, maka sistem memberikan indikasi bahwaterjadi error dan identitas error dinyatakan dalam angka.

@@cursor_rows– Nilai balik dari cursor yang terakhir kali diolah.@@server_name : Nama dari SQL Server lokal@@Max_Connections : Jumlah maksimum koneksi secara bersama@@language : bahasa yang digunakan sekarangDll..

IfIf -- StatementStatement

• Model 1IF kondisiInstruksi

• Model 2IF kondisiInstruksi1

ELSEInstruksi2

• Model 3IF kondisiBEGINInstruksi1Instruksi2....

END

IF digunakan dalam mengendalikan alur programberdasarkan kondisi.

www.rahmadani.net 13

• Model 1IF kondisiInstruksi

• Model 2IF kondisiInstruksi1

ELSEInstruksi2

• Model 3IF kondisiBEGINInstruksi1Instruksi2....

END

Contoh IF-Statement,Simpan dengan nama: listingTSQL2.sql

DECLARE @bilngan intSET @bilngan = 75IF @bilngan >=60PRINT ‘SELAMAT ANDA LULUS' ELSEPRINT ‘SEMANGAT ANDA GAGAL'

www.rahmadani.net 14

DECLARE @bilngan intSET @bilngan = 75IF @bilngan >=60PRINT ‘SELAMAT ANDA LULUS' ELSEPRINT ‘SEMANGAT ANDA GAGAL'

Contoh IF-Statement,Simpan dengan nama; listingTSQL3.sql

DECLARE@nilai int,@nilai_minimum int

SELECT @nilai=80SELECT @nilai_minimum=50

IF @nilai>@nilai_minimumPRINT “Anda dinyatakan LULUS”ELSEPRINT 'Wah..Anda Harus Mengulang Ujian!! :-('

www.rahmadani.net 15

DECLARE@nilai int,@nilai_minimum int

SELECT @nilai=80SELECT @nilai_minimum=50

IF @nilai>@nilai_minimumPRINT “Anda dinyatakan LULUS”ELSEPRINT 'Wah..Anda Harus Mengulang Ujian!! :-('

WhileWhile –– StatementStatementContoh; Simapan dengan nama: listingTSQL4.sqlDECLARE @i intSELECT @i=1WHILE @i<10BEGINPRINT @ISET @I = @I + 1END

WHILE digunakan dalam mengeksekusi satu blok programberulang-ulang (Looping) sampai kondisi pada WHILE menjadifalse.Syntax:

WHILE kondisiBEGIN

..END

www.rahmadani.net 16

Contoh; Simapan dengan nama: listingTSQL4.sqlDECLARE @i intSELECT @i=1WHILE @i<10BEGINPRINT @ISET @I = @I + 1END

Contoh WHILE-Statement,Simpan dengan nama: listingTSQL5.sql

DECLARE @i intSELECT @i=5WHILE @i > 0BEGINPRINT 'Nilai Bilangan i adalah = ' + str(@i)SELECT @i= @i-1

End

www.rahmadani.net 17

DECLARE @i intSELECT @i=5WHILE @i > 0BEGINPRINT 'Nilai Bilangan i adalah = ' + str(@i)SELECT @i= @i-1

End

Catatan;Fungsi str() digunakan untuk mengubah angka menjadi string (teks).

ContinueContinueContinue berkaitan dengan WHILE. Continue digunakanuntuk melanjutkan alur program pada pemeriksaan kondisiWHILE atau dengan kata lain digunakan untuk skipperulangan.Syntax;WHILE kondisi1BEGIN....if kondisi2CONTINUE

..END

www.rahmadani.net 18

Continue berkaitan dengan WHILE. Continue digunakanuntuk melanjutkan alur program pada pemeriksaan kondisiWHILE atau dengan kata lain digunakan untuk skipperulangan.Syntax;WHILE kondisi1BEGIN....if kondisi2CONTINUE

..END

Contoh Continue; listingTSQL6.sql

DECLARE @i intSELECT @i=0WHILE @i<10BEGINSET @I = @I + 1IF @I=5 CONTINUEPRINT @IEND

www.rahmadani.net 19

Contoh Continue; listingTSQL6.sql

DECLARE @i intSELECT @i=0WHILE @i<10BEGINSET @I = @I + 1IF @I=5 CONTINUEPRINT @IEND

ReturnReturn -- StatementStatementRETURN akan menghentikan program darieksekusi atau untuk keluar dari proses Looping.Contoh; listingTSQL7.sql

DECLARE @i intSELECT @i=0WHILE @i<10BEGINSET @I = @I + 1IF @I=5 RETURNPRINT @IEND

www.rahmadani.net 20

RETURN akan menghentikan program darieksekusi atau untuk keluar dari proses Looping.Contoh; listingTSQL7.sql

DECLARE @i intSELECT @i=0WHILE @i<10BEGINSET @I = @I + 1IF @I=5 RETURNPRINT @IEND

Case StatementCase StatementCASE menyederhanakan IF yang berlapis dengantujuan agar program dapat dimengerti/dibacadengan lebih mudah.Sintaks:CASEWHEN kondisi1 THEN VALUE1WHEN kondisi2 THEN VALUE2WHEN kondisi3 THEN VALUE3…ELSESTATEMENT

ENDwww.rahmadani.net 21

CASE menyederhanakan IF yang berlapis dengantujuan agar program dapat dimengerti/dibacadengan lebih mudah.Sintaks:CASEWHEN kondisi1 THEN VALUE1WHEN kondisi2 THEN VALUE2WHEN kondisi3 THEN VALUE3…ELSESTATEMENT

END

Contoh; CaseContoh; Case –– Statement,Statement,Simpan dengan nama:Simpan dengan nama: listingTSQL8.sqllistingTSQL8.sql

DECLARE @bil int,@terbilang varchar(15)

SET @bil = 3SELECT @terbilang =CASEWHEN @bil = 1 THEN 'Satu'WHEN @bil = 2 THEN 'Dua'WHEN @bil = 3 THEN 'Tiga'WHEN @bil = 4 THEN 'Empat'WHEN @bil = 5 THEN 'Lima'ELSE 'Banyak sekali.....!!'ENDPRINT @terbilang

www.rahmadani.net 22

DECLARE @bil int,@terbilang varchar(15)

SET @bil = 3SELECT @terbilang =CASEWHEN @bil = 1 THEN 'Satu'WHEN @bil = 2 THEN 'Dua'WHEN @bil = 3 THEN 'Tiga'WHEN @bil = 4 THEN 'Empat'WHEN @bil = 5 THEN 'Lima'ELSE 'Banyak sekali.....!!'ENDPRINT @terbilang

Contoh; CaseContoh; Case –– Statement,Statement,Simpan dengan nama:Simpan dengan nama: listingTSQL9.sqllistingTSQL9.sql

DECLARE@t char(1),@hasil varchar(255)

SELECT @t='C'SELECT @hasil= CASEWHEN @t='A' THEN'Karakter A'WHEN @t='B' THEN 'Karakter B'ELSE'Karakter Tidak Dikenal'

ENDPRINT 'Hasil adalah : ' + @hasil

www.rahmadani.net 23

DECLARE@t char(1),@hasil varchar(255)

SELECT @t='C'SELECT @hasil= CASEWHEN @t='A' THEN'Karakter A'WHEN @t='B' THEN 'Karakter B'ELSE'Karakter Tidak Dikenal'

ENDPRINT 'Hasil adalah : ' + @hasil

www.rahmadani.net 24

Latihan1. Coba Anda buatkan listing T-SQL, untuk menampilkan

data menggunakan assingn variable SET dengan ouputsebagai berikut;

DATA KARYAWAN=====================Kode :K0008Nama :LINTANGGaji :Rp. 4000000=====================

2. Dengan menggunakan Statement IF, buat sebuah kondisi,jika umr>1650000, maka “Honor Anda sudah di atasUMR” jika tidak “Honor Anda di bawah UMR, hayo mintanaek gaji ke si Bos :D”

3. Dengan menggunakan Statement-IF, coba Anda buatsebuah Listing Program untuk menguji, sebuah nilaiapakah bilangan Genap atau Ganjil.

www.rahmadani.net 25

1. Coba Anda buatkan listing T-SQL, untuk menampilkandata menggunakan assingn variable SET dengan ouputsebagai berikut;

DATA KARYAWAN=====================Kode :K0008Nama :LINTANGGaji :Rp. 4000000=====================

2. Dengan menggunakan Statement IF, buat sebuah kondisi,jika umr>1650000, maka “Honor Anda sudah di atasUMR” jika tidak “Honor Anda di bawah UMR, hayo mintanaek gaji ke si Bos :D”

3. Dengan menggunakan Statement-IF, coba Anda buatsebuah Listing Program untuk menguji, sebuah nilaiapakah bilangan Genap atau Ganjil.

4. Buatkan sebuah listing statement WHILE untukmenampilkan deret angka ganjil, dengan outputsebagai berikut;

1adalah bilangan ganjil3adalah bilangan ganjil5adalah bilangan ganjil7adalah bilangan ganjil9adalah bilangan ganjil

5. Pada database MYAKADEMIK dan pada tabelMahasiswa, coba buat sebuah listing T-SQL, untukmenampilkan sebuah status JenKel seorangMahasiswa??

www.rahmadani.net 26

4. Buatkan sebuah listing statement WHILE untukmenampilkan deret angka ganjil, dengan outputsebagai berikut;

1adalah bilangan ganjil3adalah bilangan ganjil5adalah bilangan ganjil7adalah bilangan ganjil9adalah bilangan ganjil

5. Pada database MYAKADEMIK dan pada tabelMahasiswa, coba buat sebuah listing T-SQL, untukmenampilkan sebuah status JenKel seorangMahasiswa??


Recommended