Pivot Table Oracle Lebih lanjut

April 23, 2014
select CLASS_TITLE,BATCH_ID,START_DATE,END_DATE,CLASS_OWNER_NAME,
  sum(case when JENJANG ='ASST' then JMLH else 0 end) ASST,
  sum(case when JENJANG ='PGD' then JMLH else 0 end) PGD,
  sum(case when JENJANG ='AMGR' then JMLH else 0 end) AMGR,
  sum(case when JENJANG ='MGR' then JMLH else 0 end) MGR,
  sum(case when JENJANG ='AVP' then JMLH else 0 end) AVP,
  sum(case when JENJANG ='VP' then JMLH else 0 end) VP,
  sum(case when JENJANG ='EVP' then JMLH else 0 end) EVP
from
(
  SELECT DISTINCT
    CT.CLASS_ID,
    UPPER(FER.OFFERING_COURSE_TITLE) AS COURSE,
    UPPER(CT.CLASS_TITLE) AS CLASS_TITLE,
    ct.batch_id,
    CT.START_DATE,
    CT.END_DATE,
    CO.CLASS_OWNER_NAME,
    PEG.JENJANG,
    (
      SELECT
        COUNT(*)
      FROM
        V_ALL_PEG A
      JOIN T_ENROLLMENT_DETAIL B ON A.PERSON_ID = B.PERSON_ID
      JOIN T_CLASS C ON B.CLASS_ID = C.CLASS_ID
      WHERE A.JENJANG = PEG.JENJANG AND B.CLASS_ID = CT.CLASS_ID
    ) AS JMLH,
    (
      SELECT COUNT
        (*)
      FROM
        T_ENROLLMENT_NONPEGAWAI_DETAIL C
      WHERE C.CLASS_ID = CT.CLASS_ID
    ) as OUT_SOURCE
  FROM
        T_CLASS CT    
  LEFT JOIN T_ENROLLMENT_DETAIL ED ON ED.CLASS_ID = CT.CLASS_ID
  LEFT JOIN M_CLASS_OWNER CO ON CT.CLASS_OWNER = CO.CLASS_OWNER_ID
  LEFT JOIN T_OFFERING FER ON FER.OFFERING_ID = CT.OFFERING_ID
  JOIN V_ALL_PEG PEG ON PEG.PERSON_ID = ED.PERSON_ID
  WHERE CT.END_DATE >= sysdate
  ORDER BY CO.CLASS_OWNER_NAME,UPPER(CT.CLASS_TITLE)
) S
group by CLASS_TITLE,BATCH_ID,START_DATE,END_DATE,CLASS_OWNER_NAME
Pivot Table Oracle Lebih lanjut Pivot Table Oracle Lebih lanjut Reviewed by Bank Ifoel on April 23, 2014 Rating: 5

Aplikasi Bantu Oracle

April 21, 2014
TOAD – Tools of Oracle developer memang tools terbaik yang pernah saya gunakan untuk pl/SQLnya oracle, namun salah satu kelemahan dari TOAD adalah harga licence-nya yang cukup mahal – denger-denger sih bisa mencapai $800/licence. So, daripada beli mahal-mahal mencari tools pengganti TOAD adalah salah satu alternatif terbaik. Dari hasil bertanya kepada paman Google beberapa tools yang sudah saya coba diantaranya :

1. SQL Detective (http://www.conquestsoftwaresolutions.com/)
SQL Detective v4.01 memiliki fitur yang cukup lengkap bahkan dapat diakatakan powerful dari mulai session browser, fungsi debug, storage manager, database reporting, job monitoring dll. Namun, beberapa kekurangan yang dimiliki oleh sql detective satu diantaranya adalah penempatan icon dan fungsi GUI yang masih kurang user friendly . Contohnya yang paling sederhana adalah tombol (baca:icon) “Apply” yang hampir selalu ditempatkan di ujung kiri atas.  Hal lain yang perlu di wasapadai oleh pengguna SQL Detective adalah metode word wrap yang memberikan 1 karakter enter pada  new line. Kondisi ini akan berdampak pada tidak dapat berjalannya beberapa sensitive script seperti Obfuscation Javascript (Javascript yang telah disusun ulang menjadi 1 line panjang). Hal yang selalu membuat “desperate” adalah masih sangat seringnya terjadi error caused by unhandled exception. Pada saat error terjadi, alert akan muncul seperti gambar berikut dan aplikasi otomatis tertutup.
Error
Salah satu contoh yang dapat memicu terjadinya bugs di sql detective v 4.2 :
Create table dengan nama tabel dan nama kolom sembarang, misal tbl_member
Pilih tbl _member yang sudah terbentuk kemudian klik kanan dan pilih truncate
Setelah selesai kemudian tekan icon refresh di atas grid data
bingo, You made it.. SQL Detective sucessfully shutdownUntuk masasalah style mungkin hanya masalah kebiasaan, namun masih sering munculnya error di SQL Detective membuat tools ini kurang di rekomendasikan.
2. SQL Developer (http://www.oracle.com/technology/products/database/sql_developer/index.html)
SQL Developer adalah tools gratis yang di sediakan oleh Oracle. Tool ini mungkin sengaja dibuat oleh Oracle untuk mengurangi dominasi TOAD (who knows?). Tools ini berbasis JAVA dengan nama awal RAPTOR. SQL Developer mengalami perkembangan sangat cepat, bahkan dalam hitungan hari sudah muncul patch untuk versi barunya. Pada saat kemuculannya SQL Developer memiliki fungsi yang sangat minim namun di versi 1.5.0.53 fungsi yang dimiliki cukup lengkap mulai monitoring session, export wizard, dependencies, code completion dll.
Hal yang masih membuat minor dari tool ini adalah consume memory yang sangat besar (Java based). Untuk 1 koneksi ke localhost dengan 5 windows procedure/package editor dan 2 sql editor mengkonsumsi memory >191Mb. Di lapangan seorang programmer kadang diharuskan membuka lebih dari 1 aplikasi koneksi. So syarat mutlak untuk menggunakan SQL developer adalah spec pc/laptop yang harus diatas rata-rata dengan memori min 512Mb.

3. GoldFish.Net© (http://www.conceptgeek.com/Home.aspx)
GoldFish.Net© is a charityware program. Aplikasi ini memiliki fitur yang cukup lengkap seperti table properties (index, dependencies, trigers, constrains, save to excel, analyze table), left side object single tab, kill session, storage manager, database compare dan code snippet. Dari sisi consume memory GodfishNet mengkonsumsi memory sebesar ~17MB untuk 1 koneksi Hal ini karena goled fish menggunakan .NET framework.
Selain masih dirasakan terlalu berat, kekurangan lain dari Goldfish.Net adalah seperti belum supportya sql editor untuk mengeksekusi script yang diawali dengan declare begin.. end dan belum memiliki fitur hot key. Untuk versi trialnya session dibatasi hanya untuk 5 user for concurrent user

4.SQLDbx v.3.2.0 personal edition (http://www.sqldbx.com)
Hal yang cukup menarik dari toos ini adalah code completion yang akan muncul ketika mengetikkan beberapa huruf. Code completion disini bisa berupa table, procedure, function atau bahkan reserved word. Fungsi di tools ini masih cukup standar dengan pemisahan masing object ke dalam menu terpisah.
Untuk versi personal SQLDbx hanya mengijinkan 2 window text editor yang dapat dibuka. Dalam querynya SQLDbx tidak membatasi row yang akan ditampilkan alias semua row di fetch akibatnya untuk query data yang besar menjadi sangat lama, sehingga disetiap query harus ditambahkan statement rownum untuk membatasi data yang akan ditampilkan.

5.DreamCoder Lite (http://www.sqldeveloper.net/)
Dreamcoder membedakan object menjadi 5 bagian yaitu development, schema, security dan storage. Di versi lite-nya dreamcoder selain digunakan untuk develop aplikasi tools ini memiliki tools yang paling sering digunakan seperti create job, job monitoring, storage dan session monitoring tetapi beberapa fungsi utama ditiadakan seperti untuk melihat properti partition table dll. Salah satu kekurangan dari tools ini adalah tidak bisa melihat keluaran dari dbms_output.put_line pada jendela sql editor.

6.SQL Tools (http://www.sqltools.net)
SQL Tools dengan koneksi login dan multi tab untuk masing-masing objeck membuat tools ini dikenal sebagai TOAD look a like. Memiliki fitur yang cukup lumayan untuk sebuah tools freeware. Dari sisi memory consume SQL Tools sangat ringan untuk 1 koneksi hanya memerlukan sekitar ~10MB. Memiliki kelebihan berupa tools untuk export object database ke flat file. Sayangnya proses development untuk SQL tools sepertinya berhenti, padahal jika di teruskan SQL Tools akan menjadi tools yang banyak diminati.

7. DbForce
Aplikasi Bantu Oracle Aplikasi Bantu Oracle Reviewed by Bank Ifoel on April 21, 2014 Rating: 5

Fatal error: Maximum execution time of 30 seconds exceeded

April 21, 2014






Fatal error: Maximum execution time of 30 seconds exceeded in C:\xampp\htdocs\com_classlnr\v_class.php on line 20

Solusi :

Edit file PHP.ini sehingga menjadi :

; Maximum execution time of each script, in seconds
; http://php.net/max-execution-time
; Note: This directive is hardcoded to 0 for the CLI SAPI
max_execution_time = 360

Fatal error: Maximum execution time of 30 seconds exceeded Fatal error: Maximum execution time of 30 seconds exceeded Reviewed by Bank Ifoel on April 21, 2014 Rating: 5

14.8 Search

April 19, 2014
14.8.1 Pencarian dengan Mengabaikan huruf besar dan kecil

Didalam pengolahan database yang besar, sering kita harus mencari data-data yang penulisan tidak standar kadang huruf besar semua atau huruf kecil semua atau gabungan keduanya.

saya coba membuat sebuah script yang mengubah pencarian menjadi huruf kecil semuanya. Scriptnya adalah sebagai beikut :

Buat file koneksinya

<?php
$username="latihan"; //Nama user sama dengan skema di oracle
$password=""; //Password sama dengan skema di oracle
$database="localhost/XE"; //localhost bisa di isi dengan IP adress
$koneksi=oci_connect($username,$password,$database);
if($koneksi){
echo "";
}else{
$err=oci_error();
echo "Gagal tersambung ke ORACLE". $err['text'];
}
?>

File untuk pencarian :

<p><b>NAMA KOTA DAN NEGARA</b></p>
 <form name="form1" method="get" action="">
     Search : <input type="text" name="q" id="q"/>
              <input type="submit" value="Search"/>
  </form>

<?php
$baris = 1;
include("ocicon.php");
if(isset($_GET['q']) && $_GET['q']){
$q = $_GET ['q'];
$ql=strtolower($q);
$query = "select * from NAMAKOTA where ID like '%$ql%' or
 LOWER(NAMA)  like '%$ql%' or
 LOWER (NEGARA) like  '%$ql%'
 ORDER BY ID ";
$statemen=oci_parse($koneksi,$query);
oci_execute($statemen);


include ("v_fdata.php");
}else{
$query = "select * from NAMAKOTA
 ORDER BY ID ";
$statemen=oci_parse($koneksi,$query);
oci_execute($statemen);

include ("v_fdata.php");

}
?>

File untuk menampilkan hasil pencarian :

<?php
echo "
<table>
<tr bgcolor=#00FFFF;>
<th>NIM</th>
<th>Nama</th>
<th>Negara</th>
<th align=center>AKSI</th>
</tr>";

while($hasil=oci_fetch_assoc($statemen)) {
 $warna = "#ffffff";
 if($baris % 2 == 0){
  $warna = "#c3c3c3";
 }
 echo "
 <tr bgcolor=".$warna.">
 <td ALIGN=RIGHT>$hasil[ID]</td>
 <td>$hasil[NAMA]</td>
 <td>$hasil[NEGARA]</td>
 <td>&nbsp;<a href=?edit=$hasil[ID]>Edit</a>

 </tr>
 ";
 $baris++;

}
echo"</table>";
oci_free_statement($statemen);
oci_close($koneksi);
?> 

Hasilnya :

14.8 Search 14.8 Search Reviewed by Bank Ifoel on April 19, 2014 Rating: 5

Kode Warna

April 18, 2014

Dalam melakukan perubahan pada template blog atau kode-kode HTML, kita sering ingin mengganti warna pada blog kita sesuai dengan nuansa yang di inginkan.Kode warna HTML biasanya di ikuti dengan tanda #, seperti :
contoh # ffffff (arti kode ini adalah warna putih).

Sebagai referensi warna, berikut kode warna yang bisa anda gunakan untuk mempercantik blog anda.

#666666
#00FFFF
#00FF00
#339900
#FFFF66
#CCFFCC

<p style="color:blue;margin-left:20px;">This is a paragraph.</p>


<!DOCTYPE html>
<html>

<body style="background-color:yellow;">
<h2 style="background-color:red;">This is a heading</h2>
<p style="background-color:green;">This is a paragraph.</p>
</body>

</html>

<!DOCTYPE html>
<html>

<body>
<h1 style="font-family:verdana;">A heading</h1>
<p style="font-family:arial;color:red;font-size:20px;">A paragraph.</p>
</body>

</html>

<head>
<style>
body {background-color:yellow;}
p {color:blue;}
</style>
</head>


Kode Warna Kode Warna Reviewed by Bank Ifoel on April 18, 2014 Rating: 5

Membuat warna baris selang-seling dari data di PHP

April 18, 2014

Membuat warna baris selang-seling dari data di PHP


Membuat warna baris selang seling pada view data dengan PHP. Untuk databasenya dapat menyesuaikan dengan database yang telah anda buat.
skripnya seperti ini:

<?php
$baris = 1;
include("ocicon.php");
$query = "select * from NAMAKOTA ";;
$statemen=oci_parse($koneksi,$query);
oci_execute($statemen);


echo "<p><b>NAMA KOTA DAN NEGARA</b>
<p>
<table>
<tr bgcolor=#00FFFF;>
<th>NIM</th>
<th>Nama</th>
<th>Negara</th>
</tr>";

while($hasil=oci_fetch_assoc($statemen)) {
$warna = "#ffffff";
if($baris % 2 == 0){
$warna = "#c3c3c3";
}
echo "
<tr bgcolor=".$warna.">
<td ALIGN=RIGHT>$hasil[ID]</td>
<td>$hasil[NAMA]</td>
<td>$hasil[NEGARA]</td>
</tr>
";
$baris++;

}
echo"</table>";
oci_free_statement($statemen);
oci_close($koneksi);

?>
Membuat warna baris selang-seling dari data di PHP Membuat warna baris selang-seling dari data di PHP Reviewed by Bank Ifoel on April 18, 2014 Rating: 5

Membuat Prosedure Input dengan Store Prosedure oracle menggunakan sql developer dan PHP

April 09, 2014
Membuat Prosedure Input dengan Store Prosedure oracle menggunakan sql developer dan PHP

Mengapa membuat store prosedure input data pada oracle ?

Pada umumnya sebuah webserver akan menggunakan 2 server yaitu bagian yang mengelola data dan bagian yang mengelola script. dengan mengggunakan store prosedure yang ada pada bagian data maka proses akan terbagi, hal ini akan memperingan kerja server script.

Contoh membuat store prosedure input data pada oracle adalah sebagai berikut :


disini saya menggunakan data sample oracle yaitu table DEPT

Selanjutnya buat file koneksi PHP :


<?php
 //echo "<h2>Oracle Connection</h2> < br />";
 $username = "ora_latihan"; //sesuaikan dengan username ente
 $password = "password"; //sesuaikan dengan password ente
 $host = "localhost/xe"; //sesuaikan dengan host database ente
 $koneksi = oci_connect($username,$password,$host) or die('connection failed !');
 if(!empty($koneksi)){
 echo "";
}else{
 echo "koneksi gagal !";
 }
?>  


Buatlah file form input dengan php :

<html>
<head>
<title>Test Page</title>
</head>
<body>
<h2>Data Collection</h2><p>
<form action="f_input.php" method="post">
<table>
<tr>
<td>Departemen No.:</td>
<td><input type="text" name="DEPNOMOR" /></td>
</tr>
<tr>
<td>Nama :</td>
<td><input type="text" name="NAMA" /></td>
</tr>
<tr>
<td>Location :</td>
<td><input type="text" name="LOCU" /></td>
</tr>
<tr><td colspan="2" align="center"><input type="submit" /></td>
</tr>
</table>
</form>
</body>
</html>

Buatlah File proses input :

<?php
//Proses input data
include "konek.php"; // untuk memanggil koneksi
//Mendeklarasikan variabel dari FORM INPUT
$DEPTNO=$_POST['DEPNOMOR'];
$DNAME=$_POST['NAMA'];
$LOC=$_POST['LOCU'];

$Perintah = oci_parse($koneksi,"BEGIN INP_DEPNO('$DEPTNO','$DNAME','$LOC'); END;");

//Jika berhasil ditambah
oci_execute($Perintah);
oci_commit($koneksi); //Menyimpan perubahan
oci_close($koneksi); //Menutup Koneksi
echo "<script type='text/javascript'> alert ('Data berhasil di tambah') </script>";

?>


Membuat Prosedure Input dengan Store Prosedure oracle menggunakan sql developer dan PHP Membuat Prosedure Input dengan Store Prosedure oracle menggunakan sql developer dan PHP Reviewed by Bank Ifoel on April 09, 2014 Rating: 5
Powered by Blogger.