Showing posts with label sql. Show all posts
Showing posts with label sql. Show all posts

Monday, August 1, 2011

Menjalankan File SQL Dengan Sekali Klik

Masalah ini muncul ketika aplikasi yang dijalankan di setiap proyek menemui kendala seperti user di setiap proyek tidak ada jaringan internet, update program, minta dihapuskan data, minta di edit datanya dan lain sebagainya yang intinya adalah memudahkan user dan programmer untuk trobleshotting.

Konsep kerjanya adalah kita membuat sebuah file SQL yang akan dieksekusi kemudian kita membuat sebuah batch file untuk mengeksekusi SQL tersebut. namun yang perlu diperhatikan adalah batch file tersebut harus kita convert  ke exe terlebih dahulu sebelum dijalankan dengan menggunakan Inno Setup Compiler

Bahan - bahan yang diperlukan untuk menjalankan prosedure diatas :

  1. File SQL yang akan dieksekusi
  2. Batch_To_Exe_Converter
  3. Inno Setup Compiler
Sebagai Contoh kita akan membuat user baru di tabel  user.
  1. Buat file sqlnya dengan nama tambah_user.sql  
  2. insert into user (user,password) values ('coba','jangantanya')
  3. Buat batch file untuk mengeksekusi sql diatas dengan nama tambah_user.bat
  4. @echo off cd C:\Program Files\PostgreSQL\8.3\bin\ CLS SET PGPASSWORD=postgres echo on psql -Upostgres brantas_lokal < C:\tambah_user.sql
  5. Convert File diatas (tambah_user.bat) menjadi exe dengan Bat_To_Exe_Converter
  6. Buka Inno Setup Compiler
buatlah sebuah file installer untuk mengeksekusi program diatas berikut saya sertakan file installer yang sudah jadi:
; Script generated by the Inno Setup Script Wizard.
; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES!

#define MyAppName "TAMBAH_USER"
#define MyAppVersion "1.5"
#define MyAppPublisher "Casmadi Corp"
#define MyAppURL "http://www.plat-e.blogspot.com/"
#define MyAppExeName "tambah_user.exe"

[Setup]
; NOTE: The value of AppId uniquely identifies this application.
; Do not use the same AppId value in installers for other applications.
; (To generate a new GUID, click Tools | Generate GUID inside the IDE.)
AppId={{025375D2-5632-4D40-BA94-13DCED92741C}
AppName={#MyAppName}
AppVersion={#MyAppVersion}
;AppVerName={#MyAppName} {#MyAppVersion}
AppPublisher={#MyAppPublisher}
AppPublisherURL={#MyAppURL}
AppSupportURL={#MyAppURL}
AppUpdatesURL={#MyAppURL}
DefaultDirName=C:\xampp\htdocs\{#MyAppName}
DisableDirPage=yes
DefaultGroupName={#MyAppName}
DisableProgramGroupPage=yes
OutputDir=D:\update
OutputBaseFilename=add_user
SetupIconFile=D:\update\favicon.ico
Compression=lzma
SolidCompression=yes

[Languages]
Name: "english"; MessagesFile: "compiler:Default.isl"

[Files]
Source: "D:\update\tambah_user.exe"; DestDir: "{app}"; Flags: ignoreversion
Source: "D:\update\tambah_user.sql"; DestDir: "{app}"; Flags: ignoreversion
; NOTE: Don't use "Flags: ignoreversion" on any shared system files

[Run]
Filename: "{app}\{#MyAppExeName}"; Description: "{cm:LaunchProgram,{#StringChange(MyAppName, "&", "&&")}}"; Flags: nowait skipifsilent

Jalankan file diatas dengan menekan tombol F9, hasil dari kompile file diatas akan menghasilkan file dengan extention exe, yang bisa langsung mengeksekusi file sql yang telah kita buat

Lanjut ....

Thursday, January 14, 2010

Fungsi Logika dalam Query Oracle

Kondisi if selain diletakkan dalam bahasa pemrograman, juga bisa dilakukan didalam sql.
contoh dibawah ini merupakan penggunaan logika if dengan 1 kondisi menggunakan decode dalam oracle :

sintaknya :

decode (expression, search_1, result_1)

Contoh Penggunaan :

"Merubah nominal pada tabel TAGIHAN menjadi negative yang mempunyai KODE_AKUN 1600 "

select KODE_AKUN,JML_TAGIHAN AS JUM_TAGIHAN,
decode(KODE_AKUN, '1600', -(JML_BAYAR), JML_BAYAR) JUM_BAYAR
from TAGIHAN;

Untuk kondisi lebih dari satu bisa menggunakan case when

sintaknya :

case when x = y then a else b end
case when x <>then a when x = y then b else c end

Contoh Penggunaan :

"Merubah nominal pada tabel TAGIHAN menjadi negative yang mempunyai KODE_AKUN 1600 dan 2309 "

select JML_TAGIHAN,
case when
(KODE_AKUN IN ('1600','2309')) then -(JML_BAYAR) else JML_BAYAR end AS JUM_BAYAR
from TAGIHAN;

Lanjut ....

Wednesday, September 2, 2009

SQL Pencarian di Oracle

Didalam oracle untuk pencarian menggunakan metode like walaupun sudah menggunakan % tetap saja hasil yang ditampilkan sesuai dengan apa yang diharapakan.
Contoh Kasus ketika kita ingin mencari nama aset dengan kata kunci 'Mobil','mobil' atau 'MOBIL' maka dengan menggunakan sql seperti dibawah ini akan menghasilkan hasil pencarian yang berbeda.

select * from asset
where nama_asset LIKE '%Mobil%'
Namun jika dijalankan di Mysql maka query tersebut akan menampilkan semua record nama aset yang mengandung kata 'Mobil Dinas','Mobil','mobil', ataupun 'MOBIL'

Sedangkan ketika dijalankan di Oracle maka dia akan menampilkan record 'Mobil' atau 'Mobil Dinas' saja. jadi jika kita memasukkan keywordnya 'mobil' atau 'MOBIL' maka hasil pencariannya '', karena dia hanya mencari dengan metode case sensitive Agar pencariannya Optimal dan efektif kita bisa mengunakan fungsi UPPER yang ada didalam oracle, Maka sintak oraclenya setelah ditambahkan UPPER akan menjadi seperti ini :

select * from asset
where upper(nama_asset) LIKE upper('%Mobil%')

dengan penambahan UPPER maka hasil pencarian akan efektif, ketika kita memasukkan keywoard 'Mobil' maka hasil pencarian akan menampilkan semua nama aset yang mengandung 'Mobil','mobil' atau 'MOBIL'

Lanjut ....