Cara Membuat database
Start->all Program->Oracle orahome92->Configuration & migration Toll, database configuration AssistantPilih create database
Pilih next,Pilih New database
Pilih Next, Isi nama Global name database = dbsdm ,Isi SID=dbsdm
Pilih next, Pilih Dedicated Server Mode
Keterngan setting ada di modul DBA tersendiri.
Pilih next
Pilih next pilih creat database
Pilih Finish, kemudian pilih ok
Tunggu sampai Database Creation in prosess 100%
SYS Password=bs2010 dan isi Confirm SYS Password=bs2010
SYSTEM Password=bs2010s dan isi Confirm SYSTEM Password=bs2010s
Pilih exit
User =system
Password=server
database =serverpm2
Memulai dengan Oracle bias menggunakan Query Edit : TOAD, SQL Plus, PL/SQL Developer.
SETTING di client
Cari file ntsnames ada di folder mana
# TNSNAMES.ORA Network Configuration File: F:\System_Oraclex\network\admin\tnsnames.ora
# Generated by Oracle configuration tools.
Isi file tnsnames.ora
ORAPM2 =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = PM2-22)(PORT = 1521))
)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = ORAPM2)
)
)
INST1_HTTP =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = PM2-22)(PORT = 1521))
)
(CONNECT_DATA =
(SERVER = SHARED)
(SERVICE_NAME = MODOSE)
(PRESENTATION = http://HRService)
)
)
EXTPROC_CONNECTION_DATA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC2))
)
(CONNECT_DATA =
(SID = PLSExtProc)
(PRESENTATION = RO)
)
)
F:\System_Oraclex\network\admin\tnsnames
Blok copy
Langka berikutmya buat
Buat perintah di emvironment untuk listener ke server yang di tuju
connecting Orapm202
user=sys
password=pm2
connecr us sysdba
connecting using = Oramp21
user=scoott
password=tiger
host string=dbkita
==================================
Kondisi pada system oracle untuk membuat nama user(user name) yang berfungsi bisa mengakses database oracle.
Sintak perintah membuat user name adalah :
Create User username identified by password
quota 10M on users default tablespace users
Sintak perintah memperbaiki user name adalah :
Alter User username identified by newusername
Sintak perintah menghapus user name adalah :
Drop User username cascade(menhapus seluruh object yang dimiliki user)
Contoh untuk membuat user name dan quota space pada database:
create user cassep identified by h123
quota 10M on users default tablespace users
lakukan blok Run tombol F5
sql > create user ady identified by firm4n5y4h
quota 10M on users default tablespace users;
user created
1. create user edwin identified by arlfl14nt0
quota 10M on users default tablespace users
user created
Mengaktifkan user name untuk mendapatkan fasilitas di database.
Sintak : grant connect, resource to namaUser
2. grant connect, resource to ady ;
grant succeeded
sql> grant connect, resource edwin;
grant succeeeded
=======================================
Mengaktifkan User Name untuk bisa membuat table
sql> conn ady/f1rman5y4h@sdm
coneccted
sql> conn
enter user_name :ady
enter password:************
coneccted
Langkah berikutnya anda berhak membuat table pada database oracle.
Type data : Varchar2(karakter) 4000 byte, Number(bilangan)1 to 38 , Date(tanggal) sampai 31 desember 9999, char(karakter) 1 Byte.
Sintak membuat table :
Create table nama_tabel (
namaField number primary key,
namafield_1 number not null,
namafield_2 number default 1,
namafield_3 date default sysdate,
namafield_4 varchar2(50),……..,……….,…….);
Pertemuan ke III
sql> create table karyawan
(id_kry number(5),
namadepan varchar2 (12),
namabelakang varchar2(12),
gaji number (9) );
table created.
sql> insert into karyawan
(id_kry, namadepan, namabelakang,gaji)
values (1001, 'hengki','anwar',2000000) ;
1 row created.
sql> insert into karyawan
(id, namadepan , namabelakang,gaji)
values (1002,'adrian','riyanto',1900000);
1 row created
sql> insert into karyawan
(id,namadepan,namabelakang,gaji)
values (1003,'zakaria',' ',2100000);
1 row created.
sql> insert into karyawan
(id, namadepan, namabelakang, gaji)
values (1004,'adi','koncara',18500000);
1 row created.
insert into lembur value(L001,to_date('01 12, 2010','dd MM ,YYYY'),K005)
sql> insert into karyawan
(id, namadepan, namabelakang, gaji)
values (1005,'anita','setyorini',19500000);
1 row created
sql> insert into karyawan
(id, namadepan, namabelakang, gaji)
values (1006,'muthia','chrisye',2300000);
1 row created.
Select * from karyawan
id namadepan
----- -------------
1001 hengki
1002 adrian
1003 zakaria
1004 adi
1005 anita
1006 muthia
6 rows selected.
sql>select id, namadepan from karyawan;
sql> select id, namadepan, namabelakang, gaji from karyawan;
id namadepan namabelakang gaji
------- --------------- --------------- ---------
1001 hengky anwar 2000000
1002 adrian riyanto 1900000
1003 zakaria 2100000
1004 adi koncara 1850000
1005 anita setyorini 1950000
1006 muthia chrisye 2300000
6 rows selected.
Pertemuan ke IV
Sintak mengganti nama table :
Alter table nama_tabel_lama rename to nama_table baru
Sintak menambah field baru pada nama table :
Alter table nama_tabel add(nama_field_1 typedata, nama_field_2 typedata)
Sintak mengganti nama field pada nama table :
Alter table nama_tabel modify nama_field_1 typedata
Sintak menghapus nama field pada nama table :
Alter table nama_tabel drop column nama_field
1. Lakukan penambahan Field Jenis_kelamin pada table Karyawan.
2. lakukan perintah desc karyawan(melihat struktur table)
3. Lakukan perubahan data dapa jenis kelamin semua diisi dengan kode “L” dan tampilkan hasil perubahan
4. Lakukan perubahan data dapa jenis kelamin berasarkan ID_kry dengan kode “P” atau “L” dan tampilkan hasil perubahan
5. Lakukan penambahan Field Kode_jabatan pada table Karyawan dan isi datanya MM,DD,ST,OB(bebas),tampilkan hasilnya
6. Ganti nama field kode_jabatan menjadi id_jabatan
7. Lakukan penambahan Field tnj_jabatan pada table Karyawan dan isi datanya berdasarkan MM=2000000,DD=1500000,ST=0,OB=200000,tampilkan hasilnya
8. Lakukan perubahan data Field tnj_jabatan pada table Karyawan dan isi datanya di rubah MM=2000000 menjadi MM= 3000000,tampilkan hasilnya
9. Buat table jabatan(id_jabatan,nama_jabatan,Tnj_jabatan) isi datanya sesuai denga yang di atas MM,Menejer,3000000===> DD,Drektur, 4000000,èST,staf,0è OB, Office Boy,200000
sql> select namadepan, gaji,gaji*1.1, gaji-500000 from
karyawan;
namadepan gaji gaji*1.1 gaji-500000
------------ ------------ ------------ ---------------
hengky 2000000 2200000 1500000
adrian 1900000 2090000 1400000
zakaria 2100000 2310000 1600000
adi 1850000 2035000 1350000
anita 1950000 2145000 1450000
muthia 2300000 2530000 1800000
6 rows selected.
sql> select 71+21 from dual;
-----------------------------
92
sql> select namadepan, gaji* 0.1 bonus from karywan;
namadepan gaji bonus
--------------- ----------- -------
hengky 2000000 200000
adrian 1900000 190000
zakaria 2100000 210000
adi 1850000 185000
anita 1950000 195000
muthia 2300000 230000
6 rows selected.
sql> select namadepan, gaji
from karyawan;
error at line 2 :
ora-00942: table or view does not exist
sql>select * from karyawan
namadepan gaji
------------ --------------
hengky 2000000
adrian 1900000
zakaria 2100000
adi 1850000
anita 1950000
muthia 2300000
6 rows selected.
sql>select namadepan, gaji from karyawan order by namadepan desc;
namadepan gaji
------------ --------------
zakaria 2100000
muthia 2300000
hengky 2000000
anita 1950000
adrian 1900000
adi 1850000
6 rows selected.
Penggunaan Where untuk memfilter data atau hanya sebagian data yang di tampilkan berdasarkan kondisi gaji>2000000.
Operator :: = , !=, < ,> , <=, >= , and/or ,is null, is not null,in , not in
sql>select namadepan, gaji
from karyawan where gaji>2000000;
namadepan gaji
------------ --------------
zakaria 2100000
muthia 2300000
2 rows selected.
sql>select namadepan, gaji
from karyawan where gaji != 2000000;
namadepan gaji
------------ --------------
zakaria 2100000
muthia 2300000
anita 1950000
adrian 1900000
adi 1850000
5 rows selected.
sql>select namadepan, gaji from karyawan where gaji>2000000 and namadepan LIKE '%ia';
namadepan gaji
------------ --------------
zakaria 2100000
muthia 2300000
2 rows selected.
==============================================
menampikan data dari beberapa table
sql>select namadepan, namabelakang , kodearea from manager
namadepan namabelakang kodearea
------------ -------------- ------------
zakaria edwin 22
muthia puspita sari 21
anita rahayu 31
adrian johan 22
adi baharudin 21
5 rows selected.
sql>select kodearea, kota from area;
kodearea kota
------------ -------------- ------------
22 Jakarta
21 Bandung
31 Surabaya
3 rows selected.
SQL> SELECT a.namadepan, a.namabelakang, b.kota
FROM manajer a, area b WHERE a.kodearea = area.kodearea;
NAMADEPAN NAMABELAKANG KOTA
----------- -------------- -------------
Diah Puspita Jakarta
Jimmy Ardianto Jakarta
Edwin Djkaria Bandung
Ahmad Seaful Bandung
Rezki Yunus Surabaya
SQL> SELECT manajer.namadepan, manajer.namabelakang, area.kota
FROM manajer, area
WHERE manajer.kodearea = area.kodearea;
SQL> SELECT a.namadepan, a.namabelakang, b.kota FROM manajer, area b
WHERE a.kodearea=b.kodearea
NAMADEPAN NAMABELAKANG KOTA
----------- -------------- -------------
Diah Puspita Jakarta
Jimmy Ardianto Jakarta
Edwin Djkaria Bandung
Ahmad Seaful Bandung
Rezki Yunus Surabaya
Wijayanti Hartono
Astrid Luciane
7 rows selected.
Menggunakan fungsi-fungsi yang disediakan oracle
Max(bilangan terbesar), Min(bilangan terbesar), Sum(menjumlahkan ,
count(menghitung banyaknya data), Avg(menhitung rata-rata) , Abs(menghitung nilai absolute), mod(menghitung bilangan modulus), Pangkat Power(3,2) hasil 9,pembulatan round(15.193,2) hasilnya 15.23, akar sqrt(25) hasinya 5, Trunc(15.79,1) hasilnya 15.7
Konversi To_number(meruhah karakter menjadi angka),To_char(bilanga menjadi karakter), To_date(karakter menjadi tanggal).
SQL> SELECT MAX(gaji), SUM(gaji), COUNT(gaji) FROM karyawan;
MAX(gaji) SUM(gaji) COUNT(gakji)
--------- --------- ----------------------------------------
2300000 12100000 6
SQL> SELECT id, namadepan, namabelakang, gaji, kota FROM
KARYAWAN;
ID NAMADEPAN NAMABELAKANG GAJI KOTA
---------- ------------ ------------ ----------- ----------------
1001 Hengky Anwar 2000000 Padang
1002 Adrian Riyanto 1900000 Bandung
1003 Zakaria 2100000 Surabaya
1004 Adi Koncara 1850000 Padang
1005 Anita Setyorini 1950000 Bandung
1006 Muthia Chrisye 2300000 Surabaya
6 rows selected.
SQL> SELECT kota, AVG(gaji) FROM karyawan BY kota ORDER BY kota;
KOTA AVG(GAJI)
--------------------------------------------- ---------
Bandung 1925000
Padang 1925000
Surabaya 2200000
SQL> SELECT kota, AVG(gaji) FROM karyawan GROUP BY kota HAVING AVG(gaji) <2000000 ORDER BY kota;
KOTA AVG(GAJI)
--------------- ---------
Bandung 1925000
Padang 1925000
SQL> SELECT namadepan FROM manajer WHERE kodearea =………
(select kodearae FROM area WHERE kota='Bandung');
NAMADEPAN
------------
Edwin
Ahmad
======================================================================
Perintah update melakukan perubahan data pada table sintak sebagai berikut :
update nama_table set nama_field='isi data yang baru' where kondisi_1 and/or kondisi_2
contoh :
sql>update karyawan set namadepan ='adi2010' where namadepan='adi'
sql>select * from karyawan
===================================
perintah delete
sql>delete from karyawan where namadepan='adi2010';
sql> selek * from karyawan
========================================
menggunakan variabel runtime
simpan text file di bawah ini pada notepad dengan extetion karyawan.sql
bisa di pangggil beberapa kali
SELECT namadepan, namabelakang FROM karyawan WHERE id = &id;
SQL> @c:/karyawan.sql
Enter value for id:1005
NAMADEPAN NAMABELAKANG
--------------- ------------
Anita Setyorini
=================================
PL/SQL
cara menjalankan simpan di text file jalankan seperti file karyawan.sql
atau diakhir peritah berikan perintah / (slash).
ini adalah perintah dasar dari pembuatan Procedure,function, trigger
---------------------------------
Declare
Bagian deklarasi-variabel, jenis data, kursor, dan
subprogram berada di sini.
Begin
Bagian yang dapat di eksekusi-perintah prosedural, dan
SQL berada di sini.
Ini adalah bagian utama dari blok dan mutlak harus ada.
Exception
Bagian yang mengenai error-perintah untuk mengenai
error berada di sini.
end;
DECLARE
/* Awal bagian deklarasi */
v_Id NUMBER(5) := 1005; -- vARIABEL NUMERIK v_Id
-- dengan nilai awal 1005
BEGIN
/* Awal bagian yang bisa dieksekusi */
-- Rubah gaji karyawan yang id-nya 1005 menjadi 3000000
UPDATE karyawan
SET gaji = 3000000
WHERE id + v_Id;
EXCEPTION
/* Awal bagian yang mengenai error */
WHEN NO_DATA_FOUND THEN
-- Bagian yang mengenai error
-- Masukkan ke tabel tabel_log pesan error
INSERT INTO tabel_log (informasi)
VALUES ('Karyawan dengan id 1005 tidak ada!')
END;
contoh penulisan deklarasi
=============================
DECLARE
v_NamaDepan VARCHAR2 (12);
v_Gaji NUMBER(9) := 2500000;
DECLARE
v_NamaDepan
v_Gaji karyawan.gaji%type := 2500000;
contoh pennggunaan if
declare
v_gaji karyawan.gaji%TYPE;
v_komentar varchar2(35);
Begin
/*ambil nilai gaji dari tabel karyawan yang namanya Muthia
simpan nilainya di dalam variabel v_gaji*/
select gaji into v_gaji from karyawan where namadepan='Muthia';
if v_gaji<1700000 then
v_komentar:='gajinya kecil';
elsif vgaji<2000000 then
v_komentar :='gajinya biasa';
else
v_komentar :='gajinya besar';
endif;
end;
========================
contoh pennggunaan loop
jika keluar EXit[when kondisi];
declare
v_hitung number:=1;
Begin
/*memasukan sebuah baris ke table temp_table dengan nilai
sekarang*/
Loop
insert into temp_tabel(angka,komentar)
Values(v_hitung,'percobaan looping')
v_hitng:=v_hitung+1;
--kondisi exit jika sudah sampai 50 keluar dr loop
if v_hitung>50 then
exit;
endif;
end loop;
end;
==============================
contoh pennggunaan While
jika keluar pada kondisi while;
declare
v_hitung number:=1;
Begin
/*memasukan sebuah baris ke table temp_table dengan nilai
sekarang*/
while v_hitung<=50 Loop
insert into temp_tabel(angka,komentar)
Values(v_hitung,'percobaan looping')
v_hitng:=v_hitung+1;
end loop;
end;
==============================
contoh pennggunaan for
declare
v_hitung number:=1;
Begin
/*memasukan sebuah baris ke table temp_table dengan nilai
sekarang*/
for v_hitung in 1..50 Loop
insert into temp_tabel(angka,komentar)
Values(v_hitung,'percobaan looping');
end loop;
end;
================================
menangani error
declare
v_id number(5) :=1005;
Begin
/*menangani error dengan Exception*/
update karyawan set gaji=3000000
where id=v_id;
Exception
when NO_DATA_FOUND THEN
Insert Into tabel_log(information)
Values('karyawan tidak di temukan');
end;
=============================
penangana error dengan exection menggunakan perintah RAISE
declare
v_id karyawan.id%TYPE;
v_gaji karyawan.gaji%TYPE;
e_gaji_terlalu_kecil exception; ---variabel exception
Begin
/*menangani error dengan Exception dengan perintah raise*/
if v_gaji<1500000 then --menangkap error
RAISE e_gaji_terlalu_kecil;
end if;
update karyawan set gaji=v_gaji
where id=v_id;
Exception
when e_gaji_terlalu_kecil THEN
Insert Into tabel_log(information)
Values('gajinya kecil sekali');
end;
=====================================================
penggunaan Procedure, Function dan Trigger
perbedana denga yang di atas adalah tdk bisa di panggiloleh blok lain
tetapi dengan penggunaan Procedure, Function
dan Trigger bisa di pangggil dari blok lain
------------------------------------------
Pembuatan Procedure
Create or replace procedure karyawanbaru ( v_id karyawan.id%TYPE, v_namadepan karyawan.namadepan%TYPE, v_namabelakang karyawan.namabelakang%TYPE, v_gaji karyawan.gaji%TYPE, v_jenis_kel karyawan.jeis_kel%TYPE) as
Begin
insert into karyawan(id_kry,namadepan,namabelakang,gaji,jeis_kel)
values(v_id,v_namadepan,v_namabelakang,v_gaji,v_jenis_kel);
end karyawanbaru ;
----------------------------------------------------------
desc karyawan
------------------------------------------------------------
cara menggunakan procedur karyawan baru
begin
karyawanbaru(10087,'10007','harun',5500000,'L');
end;
------------------------
Contoh lain :
Create or replace procedure perubahankaryawan ( v_namadepan karyawan.namadepan%TYPE)
as
Begin
update karyawan set id='1006' where namadepan= v_namadepan;
end perubahankaryawan;
begin
perubahankaryawan('Jamilah2');
end;
select * from karyawan
=========================================
Pembuatan Function
Create or replace function fjenis_kel( v_id karyawan.id%TYPE)
return varchar2 is v_hasil varchar2(30);v_jenis varchar(1) ;
Begin
select jeis_kel into v_jenis from karyawan where id = v_id;
if v_jenis='L' then
v_hasil:='Lakilaki';
else
v_hasil:='Perempuan';
end if;
return v_hasil;
end fjenis_kel;
cara memanggil function namalengkap yang di buat
select fjenis_kel(id) "jenis Kelamin" from karyawan;
===============================
pembuatan trigger(pemicu)
perintah pemicu dipengaruhi oleh perintah DML(data manipulation language)
(insert,update,delete)
- mengatur integrity constrint
- audit database
- secara otomatis memberi sinyal jika ada perubahan
pemicu BEFORE(sebelum) dan AFTER(sesudah)
Create or replace trigger ubah_karyawan
before delete or update on karyawan
Begin
insert into tabel_audit (nama,waktu,komentar)
values(user,to_char(sysdate,'MONTH DD,HH24:MI'),'tabel ada yang merubah atau dihapus')
from karyawan where id=v_id;
RETURN v_hasil;
end namalengkap;
Tingkat Lanjut oracle
--------------------------------
penggunaan constraint,primary key, unique
membuat table dengan constraint
sql> create table karyawan2
(id number(5),
namadepan varchar2 (12) not null,
namabelakang varchar2(12) not null,
gaji number (9) check(gaji>2000000),
telp varchar2(10),
constraint pk_karyawan_01
primary key (id),
constraint uk_karyawan_01
unique(telp));
melihat struktur table
sql>desc karyawan2;
--------------------------------------
penggunaan foreign key, on delete casde
sql> create table rek_bank_karyawan
(norekening varchar2(20),
id number(5),
namabank varchar2(40) not null,
constraint pk_norekening
primary key (norekening),
constraint fk_rek_karyawan
foreign key (id) references karyawan2(id)
on delete cascade);
masukan data untuk tabel karyawan2
sql> insert into karyawan2
(id,namadepan , namabelakang,gaji,telp)
values (1001, 'hengki','anwar',2100000,'021886732') ;
1 row created.
ERROR at line 1:
ORA-02290: check constraint (CASSEP.SYS_C002657) violated
pikirkan error ini apa ?
ingat gaji harus > 2 juta
sql> insert into karyawan2
(id,namadepan , namabelakang,gaji,telp)
values (1002,'adrian','riyanto',2900000,'021-8824536');
ERROR at line 3:
ORA-01401: inserted value too large for column
pikirkan error ini apa ?
lakukan perintah
sql> desc karyawan2;
space untuk telp hanya 10 digit
sql> insert into karyawan2
(id,namadepan , namabelakang,gaji,telp)
values (1003,'zakaria',' ',2100000,'021-882453');
ERROR at line 1:
ORA-01400: cannot insert NULL into ("CASSEP"."KARYAWAN2"."NAMABELAKANG")
pikirkan error ini apa ? tdk boleh data kosong
isi data namabelakang tdk boleh kosong.
sql> insert into karyawan2
(id,namadepan , namabelakang,gaji,telp)
values (1003,'adi','koncara',18500000,'021-882433');
ERROR at line 1:
ORA-00001: unique constraint (CASSEP.PK_KARYAWAN_01) violated
pikirkan error ini apa? telah melanggar role
isi data id sudah ada yang sama harus unique
sql> insert into karyawan2
(id,namadepan , namabelakang,gaji,telp)
values (1005,'anita','setyorini',19500000,'021-8824346');
1 row created
sql> insert into karyawan
(id,namadepan , namabelakang,gaji,telp)
values ('1006','muthia','chrisye',2300000,'021-24523');
ERROR at line 1:
ORA-00942: table or view does not exist
pikirkan error ini apa? tabel yang di isi tdk ada
sql> insert into karyawan2
(id,namadepan , namabelakang,gaji,telp)
values ('1006','muthia','chrisye',2300000,'021-24523');
pikirkan error ini apa? telah melanggar
isi data tdk sesuai dengan type datanya kemungkinan
periksa apakah id type datanya number atau varchar2
=================================
isi data table rekeking bank milik karyawan
sql >insert into rek_bank_karyawan (norekening ,id ,namabank )
values('001-516-456-09-09',1003,'Bank BNI 46');
sql >insert into rek_bank_karyawan (norekening ,id ,namabank )
values('012-872-8373',1003,'Bank Mandiri');
sql >insert into rek_bank_karyawan (norekening ,id ,namabank )
values('007-234-5355',1001,'Bank syariah Mandiri');
sql >insert into rek_bank_karyawan (norekening ,id ,namabank )
values('42-09-0345-897-90',1002,'Bank BTN');
LAKUKAN PENGHAPUSAN DATA
akibat nya perhatikan perubahan kedua tabel karyawan2 dan rek_bank_karyawan
data yang memiliki id='1001' akan di hapus
SQL> delete from karyawan2 where id=1001;
1 row deleted.
SQL> select * from rek_bank_karyAWAN;
NOREKENING ID NAMABANK
-------------------- ---------- ----------------------
001-516-456-09-09 1003 Bank BNI 46
012-872-8373 1003 Bank Mandiri
42-09-0345-897-90 1002 Bank BTN
SQL> select * from karyawan2;
ID NAMADEPAN NAMABELAKANG GAJI TELP
---------- ------------ ------------ ---------- ----------
1002 adrian riyanto 2900000 021-882453
1003 adi koncara 18500000 021-882433
1004 zakaria . 2300000 021-56778
1006 muthia chrisye 2300000 021-24523
1005 anita setyorini 19500000 021-882434
=======================================================================
coba buat lagi tabel karyawan2 dan ker_bank_karyawan
tidak menggunakan on delete cascade
apa yang terjadi tolong analisa ?
lakukan penghapusan table karyawan2
SQL> drop karyawan2;
ERROR at line 1:
ORA-00950: invalid DROP option
tidak bisa sembarangan di hapus karena ada relation dengan table rek_bank_karyawan
lakukan penghapusan tabel krek_bank_karyawan
SQL> drop rek_bank_karyawan;
drop rek_bank_karyawan
*
ERROR at line 1:
ORA-00950: invalid DROP option
sama tidak sembarangan table di hapus.
SQL> alter table karyawan2 disable primary key;
alter table karyawan2 disable primary key
*
ERROR at line 1:
ORA-02297: cannot disable constraint (CASSEP.PK_KARYAWAN_01) - dependencies
exist
lakukan perintah ini dulu untuk desble constraint fk_rek_karyawan
SQL> alter table rek_bank_karyawan disable constraint fk_rek_karyawan;
Table altered.
SQL> alter table karyawan2 disable primary key;
Table altered.
SQL> alter table karyawan2 enable primary key;
SQL> alter table rek_bank_karyawan drop primary key cascade;
Table altered.
SQL> alter table karyawan2 drop primary key cascade;
Table altered.
SQL> alter table rek_bank_karyawan disable primary key;
Table altered.
SQL> alter table rek_bank_karyawan disable constraint pk_norekening;
Table altered.
baru bisa di hapus setelah tidak ada relation yang di bentuk oleh constraint
--------------------------------
Tidak ada komentar:
Posting Komentar