Transact SQL

Preview:

Citation preview

Transact-SQLTransact-SQLDisampaikan oleh:

Agus Wahyu Widodo, STProgram Studi Ilmu Komputer

Jurusan Matematika – FMIPA Unibraw

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

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.

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.

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

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

*/

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

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

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.

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

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"

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"

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"

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

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).

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

Return - StatementReturn - Statement• RETURN akan menghentikan program dari

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

PRINT "Error .. "RETURN

END

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

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

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

Thanking YouThanking YouComment & Action Items

Recommended