21
Transact-SQL Transact-SQL Disampaikan oleh: Agus Wahyu Widodo, ST Program Studi Ilmu Komputer Jurusan Matematika – FMIPA Unibraw

Transact SQL

Embed Size (px)

Citation preview

Page 1: Transact SQL

Transact-SQLTransact-SQLDisampaikan oleh:

Agus Wahyu Widodo, STProgram Studi Ilmu Komputer

Jurusan Matematika – FMIPA Unibraw

Page 2: Transact SQL

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

Page 3: Transact SQL

Pemahaman Dasar (1)Pemahaman Dasar (1)• TRANSACT-SQL adalah bahasa pemrograman

yang dikembangan dari SQL. Seperti diketahui, SQL adalah bahasa non procedural, artinya alur program tidak seperti bahasa pemrograman biasa, melainkan melalui "request" dan "response".

• Melalui instruksi SQL seseorang melakukan query atau transaksi, yang kemudian akan menerima jawaban dari Database Server berupa hasil atau ResultSet.

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

Page 4: Transact SQL

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

SQL, sehingga TRANSACT-SQL dapat melengkapi SQL dengan instruksi logic (procedural logic), yaitu program aplikasi.

• Hasil proses SQL-Server (ResultSet) dapat dioleh lebih lanjut dengan menggunakan logic pemrograman procedural seperti Fungsi, Prosedur, Loop, Case, If Then Else dan lainnya.

Page 5: Transact SQL

Kerangka TRANSACT-Kerangka TRANSACT-SQLSQL

• TRANSACT-SQL dimulai dengan deklarasi variable dan disusul dengan Blok Program.

VARIABLE DECLARATION – DECLARE

BLOK PROGRAM – WITH OR WITHOUT BEGIN - END

Page 6: Transact SQL

Pendefinisian Variable Pendefinisian Variable T-SQLT-SQL

• Variable harus dideklarasikan sebelum digunakan.

• Nama variable selalu dimulai dengan karakter @. • Variable dapat diberikan nilai melalui instruksi

SELECT ataupun SET.• Contoh

o DECLAREo /* deklarasi variable */o @v1 int,o @nama varchar(30)o select @v1=100 /* memberikan nilai 100 ke v1

*/

Page 7: Transact SQL

SELECT dalam T-SQLSELECT dalam T-SQL• SELECT digunakan juga untuk eksekusi aritmatika

atau lainnya.• Contoh:

o select @v1 = @v1 – 100 o select @tgl_skrg = now

• Variable dapat digunakan untuk mengambil nilai dari sebuah query:

• Contoh: (1)o declare @nama char(30)o select @nama = namainstrukturo from instruktur where inisial = 'YS'

• Contoh: (2)o select @jml_maksimal = max(sallary) from

SallaryEmployee

Page 8: Transact SQL

PRINT dalam T-SQLPRINT dalam T-SQL• PRINT adalah fungsi yang menampilkan teks dan

variable pada console (layar).• Contoh: (listingTSQL01.sql)

o declare @nama char(30)o select @nama = namainstrukturo from instruktur where inisial = 'YS'o PRINT "Nama yang ditemukan adalah : "o PRINT @namao PRINT "Nama yang ditemukan adalah : " + @nama

Page 9: Transact SQL

Variable GlobalVariable Global• Variable Global adalah variable yang disiapkan

oleh SQL-Server untuk memberikan informasi kepada Client. Variable globar bersifat read-only.

• Nama variable global diawali dengan @@.• Contoh:• @@error

o Bilangan bulat, yang menyatakan nomor error. Jika variable tersebut tidak sama dengan 0, maka sistem memberikan indikasi bahwa terjadi error dan identitas error dinyatakan dalam angka.

• @@cursor_rowso Nilai balik dari cursor yang terakhir kali dioleh.

Page 10: Transact SQL

If - StatementIf - Statement• IF digunakan dalam

mengendalikan alur program berdasarkan kondisi.

• Model 1IF kondisi

Instruksi

• Model 2IF kondisi

Instruksi1ELSE

Instruksi2

• Model 3IF kondisiBEGIN

Instruksi1Instruksi2....

END

Page 11: Transact SQL

Contoh 1: If – Contoh 1: If – StatementStatement

• ListingTSQL02.sqldeclare

@honor int,@rata_rata int

select @honor=100000select @rata_rata=200000if @honor > @rata_rata

PRINT "Honor di atas rata-rata"else

PRINT "Honor di bawah rata-rata"

Page 12: Transact SQL

Contoh 2: If – Contoh 2: If – StatementStatement

• Bila diaplikasikan pada tabel instruktur, maka nilai honor dapat diambil dari instruktur (listingTSQL03.sql)declare @honor int,

@rata_rata int,@instruktur char(2)

select @instruktur = 'AW'select @honor=honor

from instrukturwhere inisial = @instruktur

select @rata_rata = 200000if @honor > @rata_rata

PRINT "Honor di atas rata-rata"else

PRINT "Honor di bawah rata-rata"

Page 13: Transact SQL

Contoh 3: If – Contoh 3: If – StatementStatement

• Nilai rata-rata dapat dihitung langsung dari tabel instruktur sebagai berikut (listingTSQL04.sql)declare

@honor int,@rata_rata int,@instruktur char(2)

select @instruktur='DE'select @honor=honor, @nama=namainstruktur

from instrukturwhere inisial=@instruktur

select @rata-rata=AVG(honor) from instrukturif @honor > @rata_rata

PRINT "Honor di atas rata-rata"else

PRINT "Honor di bawah rata-rata"

Page 14: Transact SQL

Contoh 4: If – Contoh 4: If – StatementStatement

• Berikutnya, program mendemonstrasikan penggunaan blok IF BEGIN END bila instruksi dalam IF lebih dari satu instruksi (listingTSQL05.sql)

declare @honor int,

@rata_rata int,@instruktur char(2),@nama varchar(16)

select @instruktur='DE'select @honor=honor, @nama=namainstruktur

from instrukturwhere inisial=@instruktur

select @rata_rata=AVG(honor) from instrukturif @honor > @rata_rataBEGIN

PRINT "Nama Instruktur : " + @namaPRINT "Honor di atas rata-rata"

ENDelseBEGIN

PRINT "Nama Instruktur : " + @namaPRINT "Honor di bawah rata-rata"

END

Page 15: Transact SQL

While – StatementWhile – Statement• WHILE digunakan dalam mengeksekusi satu blok program

berulang-ulang sampai kondisi pada WHILE menjadi false.WHILE kondisiBEGIN

..

..END

• Contoh:declare @i intselect @i=5while @i > 0begin

PRINT "i = " + str(@i)select @i= @i – 1

End• Perhatikan bahwa fungsi str() diperlukan untuk mengkonvesi

bilangan integer menjadi string (teks).

Page 16: Transact SQL

Continue dan BreakContinue dan Break• Continue dan Break berkaitan dengan WHILE.

Continue melanjutkan alur program pada pemeriksaan kondisi WHILE sedangkan Break menghentikan alur program dari WHILE. WHILE kondisi1BEGIN

..

..if kondisi2

CONTINUE..

END

Page 17: Transact SQL

Return - StatementReturn - Statement• RETURN akan menghentikan program dari

eksekusi. RETURN dapat digunakan dalam memproses error.IF @@error <> 0BEGIN

PRINT "Error .. "RETURN

END

Page 18: Transact SQL

Case StatementCase Statement• CASE menyederhanakan IF yang berlapis dengan

tujuan agar program dapat dimengerti/dibaca dengan lebih mudah.

• Sintaks:CASE

WHEN kondisi1 THENWHEN kondisi2 THENWHEN kondisi3 THENELSE

END

Page 19: Transact SQL

Contoh 1: Case - Contoh 1: Case - StatementStatement

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

select @t='B'select @hasil =case

when @t='A' then'Karakter A'when @t='B' then'Karakter B'else'Tidak Diketahui'

endPRINT "Hasil adalah : " + @hasil

Page 20: Transact SQL

Contoh 2: Case - Contoh 2: Case - StatementStatement

declare @jk char,@nama varchar(16),@teks varchar(255)

select @jk=jenkel, @nama=nama from pesertawhere nopeserta = 3

select @teks=case @jk

when 'L' then 'Laki-laki'when 'P' then 'Perempuan'

else '?'PRINT @nama + " adalah " + @teks

Page 21: Transact SQL

Thanking YouThanking YouComment & Action Items