Transact SQL
-
Upload
achmad-zaki-mubarok -
Category
Documents
-
view
318 -
download
7
Transcript of Transact SQL
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