Categories: SQL Server

Dynamic SQL

Kadang kita dihadapi oleh situasi yang mengharuskan sebuah aplikasi dapat bekerja atau mengeksekusi SQL Statement yang bersifat dinamis. Maksud dinamis ini misalkan nama table yang kadang gabungan antara nama object dan tahun, atau susunan field yang diinginkan selalu berubah-ubah.

Kondisi tersebut diatas dapat diatasi dengan menggunakan Dynamic SQL yaitu dengan memanfaatkan statement SP_EXECUTESQL.

Namun dalam penggunaan SP_EXECUTESQL ini harap diperhatikan sisi keamanannya, karena akan rawan sekali terjadi SQL Injection. Untuk mengeliminirnya maka saat menggunakan SP_EXECUTESQL dampingilah dengan penggunaan parameter.

Syntax dari SP_EXECUTESQL adalah :

EXECUTE SP_EXECUTESQL <SQL>, <Parameter Definitions>, <Parameter Values>

Contohnya adalah sebagai berikut : misalkan kita memiliki query seperti berikut (saya menggunakan database adventureworks) :

select [EmployeeID],LoginID from HumanResources.Employee
where MaritalStatus='M' and Gender='F'

lalu untuk mengeksekusi query tersebut dengan Dynamic SQL adalah sebagai berikut :

Declare @sql nvarchar(500)='select [EmployeeID],LoginID from HumanResources.Employee
where MaritalStatus=@MS and Gender=@G';
Declare @ParamDef nVarchar(50) = '@MS Varchar(5), @G Varchar(5)';

execute sp_executesql @sql, @ParamDef, @MS='M', @G='F';

Demikian semoga bermanfaat.

admin

Recent Posts

Workshop GIS di PT. AIR MINUM INTAN BANJAR (PERSERODA)

Alhamdulillah telah dipercaya untuk memberikan workshop GIS dengan menggunakan perangkat lunak QGIS di PT. AIR…

3 years ago

Workshop GIS di PERUMDA AM Tirta Ratu Samban

Terimakasih atas kepercayaannya kepada kami sehingga terselenggara Workshop QGIS utk PERUMDA AM Tirta Ratu Samba…

3 years ago

Workshop QGIS Online di Tirta Kahuripan

terimakasih atas kepercayaan Perumda Tirta Kahuripan Kab Bogor kepada saya utk mengimplementasikan GIS Online yang…

3 years ago

Digitasi Vector Menggunakan Spesific Length, Angles or Coordinates

Para operator #GIS kadang mendapatkan sebuah gambar situasi yang diperoleh dari kondisi dilapangan yang kemudian…

4 years ago

Video Seri Belajar Snapping di QGIS

Snapping di QGIS. teknik ini sifatnya wajib untuk dikuasai oleh para operator QGIS dalam kegiatan…

4 years ago

Video Seri Belajar EPANET

Epanet (Environmental Protection Agency Network ) adalah sebuah program komputer yang memiliki kemampuan melaksanakan simulasi…

4 years ago