Showing posts with label sql. Show all posts
Showing posts with label sql. Show all posts
Monday, 9 July 2012
#14. Query dengan data di server yang berbeda
Berikut adalah sampel melakukan query data dengan menggunakan query dengan data di server yang berbeda...
:)
select a.approvalid, approvalname, tipe + ' - ' + name tipe,
a.approver1, b.position_name_en approvername1,
a.approver2, c.position_name_en approvername2,
a.approver3, d.position_name_en approvername3,
a.approver4, e.position_name_en approvername4,
a.approver5, f.position_name_en approvername5
from MApprovalCapex a
inner join (SELECT position_id, position_name_en FROM OPENDATASOURCE('SQLOLEDB', 'Data Source=HRMSDB;User ID=developer;Password=d3v3l0p3r').namaserver.dbo.VW_POSITION where position_flag=3) b on (a.approver1=b.position_id)
left join (SELECT position_id, position_name_en FROM OPENDATASOURCE('SQLOLEDB', 'Data Source=HRMSDB;User ID=developer;Password=d3v3l0p3r').namaserver.dbo.VW_POSITION where position_flag=3) c on (a.approver2=c.position_id)
left join (SELECT position_id, position_name_en FROM OPENDATASOURCE('SQLOLEDB', 'Data Source=HRMSDB;User ID=developer;Password=d3v3l0p3r').namaserver.dbo.VW_POSITION where position_flag=3) d on (a.approver3=d.position_id)
left join (SELECT position_id, position_name_en FROM OPENDATASOURCE('SQLOLEDB', 'Data Source=HRMSDB;User ID=developer;Password=d3v3l0p3r').namaserver.dbo.VW_POSITION where position_flag=3) e on (a.approver4=e.position_id)
left join (SELECT position_id, position_name_en FROM OPENDATASOURCE('SQLOLEDB', 'Data Source=HRMSDB;User ID=developer;Password=d3v3l0p3r').namaserver.dbo.VW_POSITION where position_flag=3) f on (a.approver5=f.position_id)
inner join MApprovalCapexTipe g on (a.tipeid=g.id)
a.approver1, b.position_name_en approvername1,
a.approver2, c.position_name_en approvername2,
a.approver3, d.position_name_en approvername3,
a.approver4, e.position_name_en approvername4,
a.approver5, f.position_name_en approvername5
from MApprovalCapex a
inner join (SELECT position_id, position_name_en FROM OPENDATASOURCE('SQLOLEDB', 'Data Source=HRMSDB;User ID=developer;Password=d3v3l0p3r').namaserver.dbo.VW_POSITION where position_flag=3) b on (a.approver1=b.position_id)
left join (SELECT position_id, position_name_en FROM OPENDATASOURCE('SQLOLEDB', 'Data Source=HRMSDB;User ID=developer;Password=d3v3l0p3r').namaserver.dbo.VW_POSITION where position_flag=3) c on (a.approver2=c.position_id)
left join (SELECT position_id, position_name_en FROM OPENDATASOURCE('SQLOLEDB', 'Data Source=HRMSDB;User ID=developer;Password=d3v3l0p3r').namaserver.dbo.VW_POSITION where position_flag=3) d on (a.approver3=d.position_id)
left join (SELECT position_id, position_name_en FROM OPENDATASOURCE('SQLOLEDB', 'Data Source=HRMSDB;User ID=developer;Password=d3v3l0p3r').namaserver.dbo.VW_POSITION where position_flag=3) e on (a.approver4=e.position_id)
left join (SELECT position_id, position_name_en FROM OPENDATASOURCE('SQLOLEDB', 'Data Source=HRMSDB;User ID=developer;Password=d3v3l0p3r').namaserver.dbo.VW_POSITION where position_flag=3) f on (a.approver5=f.position_id)
inner join MApprovalCapexTipe g on (a.tipeid=g.id)
:)
Sunday, 18 March 2012
#13 Metode lain membuat tabel di mysql
Berikut adalah sedikit tip untuk membuat copy table dengan struktur yang sama .
CREATE table trcapa_detail_action_verification_history as
select * from trcapa_detail_action_verification
Monday, 12 March 2012
#11 Mematikan auto increment
Perintah berikut digunakan untuk mematikan function auto increment
set IDENTITY_INSERT nama_tabel off;
set IDENTITY_INSERT nama_tabel off;
#10 Random
Berikut sedikit trik untuk merandom data yang akan diupdate. Misalnya saya punya table city seperti pada gambar 1 saya juga mempunyai table customer yang citynya masih blank. Saya ingin mengupdate data city yang ada di customer dengan table city yang saya punya secara random.
Query yang saya gunakan:
update x set cityid=y.cityid
from customers x
inner join (
select id, CAST( RAND() * id / RAND() as int) cityid
from customers a
left join cities b on (a.cityid=b.cityid)
)y on (x.id=y.id)
where y.cityid>5 and y.cityid<482 and x.cityid is null
dengan 5 adalah id terendah dari city dan 482 adalah id tertinggi dari city
Query yang saya gunakan:
update x set cityid=y.cityid
from customers x
inner join (
select id, CAST( RAND() * id / RAND() as int) cityid
from customers a
left join cities b on (a.cityid=b.cityid)
)y on (x.id=y.id)
where y.cityid>5 and y.cityid<482 and x.cityid is null
dengan 5 adalah id terendah dari city dan 482 adalah id tertinggi dari city
Sunday, 11 March 2012
#8 Menghitung umur dengan sql
Berikut script sederhana untuk menghitung umur dengan sql
untuk menjalankan hasilnya caranya sangat mudah yaitu:
create function [dbo].[umur](@tanggallahir datetime, @tipe as tinyint)
RETURNS varchar(100)
with ENCRYPTION
--select dbo.umur('12/17/1982', 1)
AS
Begin
DECLARE @thisYearBirthDay datetime
DECLARE @years int, @months int, @days int
Declare @hasil as varchar(30)
set @thisYearBirthDay = DATEADD(year, DATEDIFF(year, @tanggallahir, getdate()), @tanggallahir)
set @years = DATEDIFF(year, @tanggallahir, getdate()) - (CASE WHEN @thisYearBirthDay > getdate() THEN 1 ELSE 0 END)
set @months = MONTH(getdate() - @thisYearBirthDay) - 1
set @days = DAY(getdate() - @thisYearBirthDay) - 1
if @tipe=1--full
begin
set @hasil = cast(@years as varchar(2)) + ' tahun, ' + cast(@months as varchar(2)) + ' bulan, ' + cast(@days as varchar(3)) + ' hari'
end
else if @tipe=2--Tahun bulan
begin
set @hasil = cast(@years as varchar(2)) + ' tahun, ' + cast(@months as varchar(2)) + ' bulan'
end
else if @tipe=3--Tahun aja
begin
set @hasil = cast(@years as varchar(2))
end
else if @tipe=4--bulan aja
begin
set @hasil = cast(@months as varchar(2))
end
else if @tipe=5--hari aja
begin
set @hasil = cast(@days as varchar(3))
end
return @hasil
end
RETURNS varchar(100)
with ENCRYPTION
--select dbo.umur('12/17/1982', 1)
AS
Begin
DECLARE @thisYearBirthDay datetime
DECLARE @years int, @months int, @days int
Declare @hasil as varchar(30)
set @thisYearBirthDay = DATEADD(year, DATEDIFF(year, @tanggallahir, getdate()), @tanggallahir)
set @years = DATEDIFF(year, @tanggallahir, getdate()) - (CASE WHEN @thisYearBirthDay > getdate() THEN 1 ELSE 0 END)
set @months = MONTH(getdate() - @thisYearBirthDay) - 1
set @days = DAY(getdate() - @thisYearBirthDay) - 1
if @tipe=1--full
begin
set @hasil = cast(@years as varchar(2)) + ' tahun, ' + cast(@months as varchar(2)) + ' bulan, ' + cast(@days as varchar(3)) + ' hari'
end
else if @tipe=2--Tahun bulan
begin
set @hasil = cast(@years as varchar(2)) + ' tahun, ' + cast(@months as varchar(2)) + ' bulan'
end
else if @tipe=3--Tahun aja
begin
set @hasil = cast(@years as varchar(2))
end
else if @tipe=4--bulan aja
begin
set @hasil = cast(@months as varchar(2))
end
else if @tipe=5--hari aja
begin
set @hasil = cast(@days as varchar(3))
end
return @hasil
end
untuk menjalankan hasilnya caranya sangat mudah yaitu:
select birthdate, dbo.umur(birthdate,1) umur from employees where birthdate is not null
Saturday, 10 March 2012
#6 Restore Data
Jika kita punya file sql dan ingin merestorenya sangat mudah. berikut caranya:
1. Login ke server
2. Klik kanan pada nama servernya, kemudian klik restore from sql dump kemudian klik excute :)
1. Login ke server
2. Klik kanan pada nama servernya, kemudian klik restore from sql dump kemudian klik excute :)
Friday, 9 March 2012
#5 Backup data
Backup data merupakan hal yang penting dalam mengolah database. Berikut sedikit trik untuk membackup database yang kita buat. Saya menggunakan tools sqlyog untuk memback up data. Berikut caranya:
1. Login ke server
2. Setelah berhasil login klik kanan database yang ingin kita backup pilih back-up atau export > Back Up database as sql dump
3. Pilih lokasi dan nama file yang akan kita backup. Kita bisa memilih apa yang ingin kita backup (table, view, store proc, function atau triger. Kita juga bisa memilih apakah yang kita export datanya saja, strukturnya saja atau keduanya.
4. Jika sudah benar kita bisa lihat hasil dari export kita dengan membukanya di editor seperti notepad
Demikan sedikit info dari saya, semoga bermanfaat :)
1. Login ke server
2. Setelah berhasil login klik kanan database yang ingin kita backup pilih back-up atau export > Back Up database as sql dump
3. Pilih lokasi dan nama file yang akan kita backup. Kita bisa memilih apa yang ingin kita backup (table, view, store proc, function atau triger. Kita juga bisa memilih apakah yang kita export datanya saja, strukturnya saja atau keduanya.
4. Jika sudah benar kita bisa lihat hasil dari export kita dengan membukanya di editor seperti notepad
Demikan sedikit info dari saya, semoga bermanfaat :)
Monday, 27 February 2012
#3 Bermain-main dengan MySQL
Sekarang kita akan coba bermain-main dengan mysql. Langkah yang pertama dilakukan adalah dengan mendownload mysql. Silahkan download mysql di xampp. Cara installnya cukup mudah, sama seperti program-program windows lainnya.
Saya anggap kalian telah download dan install. Langkah berikutnya adalah login ke MySQL console. Caranya klik Start > Run > ketik cmd
Langkah selanjutnya silahkan lihat gambar-gambar dibawah
Saya anggap kalian telah download dan install. Langkah berikutnya adalah login ke MySQL console. Caranya klik Start > Run > ketik cmd
Langkah selanjutnya silahkan lihat gambar-gambar dibawah
Gambar 1
Gambar 2
Perintah diatas digunakan untuk menghidupkan server database
Gambar 3
Perintah diatas digunakan untuk login ke database
Gambar 4
Untuk melihat database yang ada dapat dilakukan dengan cara mengetikan perintah di atas
Gambar 5
Perintah diatas digunakan untuk memilih database yang akan kita gunakan
Gambar 6
Gambar 7
Perintah di atas digunakan untuk melihat tabel-tabel atau view-view yang ada di dalam di database
Gambar 8
Perintah di atas digunakan untuk menampilkan structure table
Gambar 9
Perintah diatas digunakan untuk melihat structure index
Gambar 10
Silahkan dicoba sendiri :D
Saturday, 25 February 2012
#2 Software-software Database
SOFTWARE DATABASE
Ada banyak sekali software database yang beredar dipasaran. Berikut yang saya tau:
Ada banyak sekali software database yang beredar dipasaran. Berikut yang saya tau:
- Dbase
- Microsoft Access
- MySQL
- Sql Server
- Oracle
- Postgree
- Foxpro
Friday, 24 February 2012
#1 Pengenalan Database
KONSEP DATABASE
Database adalah suatu koleksi data komputer yang terintegrasi, diorganisasikan dan disimpan dengan suatu cara yang memudahkan pengambilan kembali. Integrasi lagis dari record-record dalam banyak file ini disebut konsep database yang bertujuan untuk meminimumkan pengulangan data (duplikasi data artinya data yang sama disimpan dalam beberapa file) dan mencapai independensi data (kemampuan untuk membuat perubahan dalam struktur data tanpa membuat perubahan pada program yang memproses data).
Independensi data diperoleh dengan menempatkan spesifikasi data dalam tabel data dan kamus yang terpisah secara fisik dari program. Program mengacu pada tabel untuk mengakses data.
Hirarkhi data dalam konsep system database yaitu Database, File, Record, dan Elemen Data.
SOFTWARE DATABASE
Ada banyak sekali software database yang beredar dipasaran. Antara lain:
Database adalah suatu koleksi data komputer yang terintegrasi, diorganisasikan dan disimpan dengan suatu cara yang memudahkan pengambilan kembali. Integrasi lagis dari record-record dalam banyak file ini disebut konsep database yang bertujuan untuk meminimumkan pengulangan data (duplikasi data artinya data yang sama disimpan dalam beberapa file) dan mencapai independensi data (kemampuan untuk membuat perubahan dalam struktur data tanpa membuat perubahan pada program yang memproses data).
Independensi data diperoleh dengan menempatkan spesifikasi data dalam tabel data dan kamus yang terpisah secara fisik dari program. Program mengacu pada tabel untuk mengakses data.
Hirarkhi data dalam konsep system database yaitu Database, File, Record, dan Elemen Data.
SOFTWARE DATABASE
Ada banyak sekali software database yang beredar dipasaran. Antara lain:
- Dbase
- Microsoft Access
- MySQL
- Sql Server
- Oracle
- Postgree
- Foxpro
- Mengurangi pengulangan data.
- Mencapai independensi data.
- Mengintegrasikan data dari beberapa file.
- Mengambil data dan informasi secara cepat.
- Meningkatkan keamanan.
- Memperoleh perangkat lunak yang mahal.
- Memperoleh konfigurasi perangkat keras yang besar.
- Mempekerjakan dan mempertahankan staf DBA.
Subscribe to:
Posts (Atom)