Anda di halaman 1dari 34

Disusun oleh :

ABDULLAH ARIEF
(109510055650

TEKNIK INFORMATIKA-UNIVERSITAS ISLAM NEGERI SUSKA RIAU


Objectives
Transact - SQL
Deklarasi Variabel
Menjalankan T-SQL
Transact SQL
Merupakan unit kerja logis yang berisi sekumpulan
perintah.
Merupakan perantara antara program aplikasi dengan
SQL Server
Teknik Dasar T-SQL
Merupakan bahasa pemrograman Non
Procedural, dimana alur pemrograman tidak
seperti bahasa pemrograman biasa melainkan
melalui Request dan Response
Transact SQL mengembangkan kemampuan SQL
sehingga T-SQL dapat melengkapi SQL dengan
instruksi logik.
Sehingga proses SQL Server dapat diproses lebih
lanjut dengan menggunakan logic pemrograman
procedural seperti fungsi, prosedur, loop, case, if
dan lainnya.
Deklarasi Variabel
Pembuatan transact SQL harus dimulai dengan
deklarasi variabel dan disusun dengan blok
diagram.
Variabel-variabel yang dipergunakan harus
dideklarasikan dahulu.
Deklarasi variabel selalu dimulai dengan kata
kunci : Declare
Nama variabel dalam T-SQL selalu dimulai
dengan karakter @
Bentuk penulisan :
Declare @nama_variabel tipe_data
Declare @nama_variabel tipe_data
Keterangan :
@nama_variabel : nama dari variabel
Tipe_data : tipe data dari variabel
Contoh:
Declare
@kode Char(5),
@nama Varchar(30),
@Harga Int
Contoh pengisian nilai ke variabel setelah
dideklarasikan :
Select @kode = ‘FD001’
Select @nama = ‘Flash Disk Kingston’
Select @harga = 150000
 CONTOH, coba ketikkan perintah berikut di Query Analyzer

DECLARE
@KODE CHAR(5),
@NAMA VARCHAR(30),
@GAJI INT

SELECT @KODE = 'K0008'


SELECT @NAMA = 'LINTANG'
SELECT @GAJI = 4000000
PRINT 'DATA KARYAWAN'
PRINT '============='
PRINT @KODE
PRINT @NAMA
PRINT @GAJI
PRINT '============='
Selain menggunakan perintah select untuk
memasukkan/setting variabel, dapat juga
dipergunakan perintah SET
Penggunaan SET lebih direkomendasikan
dibandingkan menggunakan SELECT untuk variabel.
Contoh :
SET @nama = ‘Kiki’
Penggunaan SET :

DECLARE
@KODE CHAR(5),
@NAMA VARCHAR(30),
@GAJI INT

SET @KODE = 'K0008'


SET @NAMA = 'LINTANG'
SET @GAJI = 4000000
PRINT 'DATA KARYAWAN'
PRINT '====================='
PRINT 'Kode :' + @KODE
PRINT 'Nama :' + @NAMA
PRINT 'Gaji :Rp.' + str(@GAJI)
PRINT '====================='
Mengisi Variabel dengan nilai dari
tabel
Apabila anda ingin mengisi suatu variabel dengan
nilai yang ada pada suatu tabel, dapat dilakukan
dengan menggunakan perintah SELECT.
Contoh penggunaan :
Declare @nama varchar(15)
Select @nama = nama
From mahasiswa
Contoh penggunaan dengan kondisi :
Declare @nama varchar(15)
Select @nama = nama
From mahasiswa
Where kode = ‘20063218’
Suatu variabel dapat dipergunakan untuk
mengambil nilai dari suatu perintah query atau
dari suatu tabel.
Contoh : mencetak total gaji karyawan
departemen IT yang memiliki kode divisi D0001

Declare @total int


select @total = sum(gaji) from karyawan
where kode_divisi = 'D0001'
print 'Total gaji karyawan departement IT adalah
Rp.‘ + str(@total)
Berikut data dari tabel karyawan
Contoh lain, mengisi variabel dengan nilai data dari
suatu tabel.
Coba hitung berapa banyak transaksi yang dilakukan
oleh pasien dengan kode PS005 pada tabel TrKlinik.
Informasi yang ditampilkan adalah kode pasien dan
total transaksi
Seluruh data pada trklinik
Contoh lain, mengisi variabel dengan nilai data yang
diambil dari dua tabel.
Tampilkan kode pasien ‘PS005’ dan nama pasien.
Untuk menampilkan data kode dan nama pasien
harus melakukan Join dua tabel TrKlinik dengan tabel
Pasien.
Informasi yang ditampilkan adalah kode pasien dan
Nama Pasien
Variabel Global
Selain penggunaan variabel lokal. SQL Server juga
menyediakan variabel global
Variabel global merupakan variabel yang disiapkan
SQL Server untuk memberikan informasi kepada
Client.
Mengambil nilai atau informasi dari suatu database.
Sifatnya Read Only
Nama variabel selalu diawali dengan @@
Daftar beberapa Variabel Global

Nama Variabel Keterangan


@@error Bernilai bulat yang menyatakan nomor error. Jika
varaibel tersebut tidak sama dengan Nol, maka sistem
memberikan indikasi terjadi error dan identifikasi error
dinyatakan dengan angka
@@cursor_rows Memberikan nilai balik dari cursor yang terakhir
diproses
@@rowcount Memberikan nilai balik berupa jumlah baris (rows) yang
terpengaruh oleh instruksi terakhir.
@@identity Memberikan nilai otomatis setiap kali proses Insert
dilakukan. Nilai ini adalah nilai identitas dari record yang
diproses
@@spid Server process ID
Dan Lain Lain ……………………………………………………….
Untuk daftar variabel global yang lebih lengkap beserta
informasinya dapat dilihat di Transact-SQL Help.
Transact-SQL Help terdapat di SQL Query Analyzer
Contoh 1 penggunaan variabel global :
buat perintah query yang bertujuan untuk
menghapus data dari tabel Pasien yang memiliki
kode PS011.
Lalu dilakukan pengecekan, jika tidak ada record
yang memiliki kode PS011, maka data tidak jadi
dihapus, dan diberi komentar “Data pasien tidak
ada, tidak ada data yang dihapus”
Tetapi bila ada record dengan kode PS011, maka
data jadi dihapus, dan diberi komentar “Data
pasien ada, dan telah dihapus”
Sebelumnya dilihat dahulu seluruh data pada tabel
pasien
Dengan menggunakan @@rowcount, maka dapat diperiksa
apakah ada baris/record pasien yang memiliki kode PS011.
Jika ada maka @@rowcount bernilai sebanyak record yang
ada
Jika tidak ada maka @@rowcount bernilai 0
Contoh 2 penggunaan variabel global :
buat perintah query yang bertujuan untuk
menghapus data pasien yang memiliki kode PS011
dari tabel TrKlinik
Lalu dilakukan pengecekan pada tabel TrKlinik, jika
tidak ada record yang memiliki kode PS011, maka
data tidak jadi dihapus, dan diberi komentar “Data
pasien tidak ada, tidak ada data yang dihapus”
Tetapi bila ada record dengan kode PS011, maka
data jadi dihapus, dan diberi komentar “Data pasien
ada, dan telah dihapus”
Seluruh data pada trklinik
Contoh 3 penggunaan variabel global :
buat perintah query yang bertujuan untuk
menghapus data pasien yang memiliki kode PS015
dari tabel TrKlinik
Lalu dilakukan pengecekan pada tabel TrKlinik,
jika tidak ada record yang memiliki kode PS015,
maka data tidak jadi dihapus, dan diberi
komentar “Data pasien tidak ada, tidak ada data
yang dihapus”
Tetapi bila ada record dengan kode PS015, maka
data jadi dihapus, dan diberi komentar “Data
pasien ada, dan telah dihapus”
Seluruh data pada trklinik

Anda mungkin juga menyukai