Oracle developer
memungkinkan untuk membangun system dengan performance yang tinggi
menguntungkan bagi GUI (Graphical User Interface), database, client-server, dan
teknologi web. Tools dari oracle developer mempunyai interface dan
karakteristik umum yang memudahkan user dalam penggunaan serta mendesain elemen
modular, kemudian dapat digunakan kembali (reusable).
|
PL/SQL
adalah bahasa prosedural yang digunakan untuk mengoptimalkan pembuatan aplikasi
database yang menggunakan database
PROCEDURE
Procedure adalah suatu blok PL/SQL yang
menyimpan sekumpulan perintah yang tidak disertai dengan pengembalian nilai.
Dengan kata lain, procedure hanya melakukan proses tertentu saja.
Syntax
untuk membuat procedure
CREATE [OR REPLACE] PROCEDURE
nama_procedure
(parameter_1 tipedata, parameter_2
tipedata, …) IS
variabel-variabel_lokal
BEGIN
Statemen;
……
END;
FUNCTION
Function
adalah sebuah blok PL/SQL yang dapat mengembalikan nilai. Maka dari itu dalam
pembuatannya harus menggunakan statemen RETURN untuk proses pengembalian nilai
CREATE OR REPLACE FUNCTION
nama_function
(parameter_1 tipedata,
parameter_2 tipedata, …) IS
RETURN tipedata_function IS
variabel-variabel_lokal
BEGIN
Statemen;
……
RETURN
nilai_function;
END;
Package
Package
adalah sebuah schema object yang mengelompokkan PL/SQL types, items, dan
subprograms, yang terkait secara logikal.
%TYPE
Tipe data ini dipakai untuk menandakan bahwa variabelyang
deklarasikan sama dengan tipe data dari kolom tabel tertentu.
USER SOURCE
User source adalah naskah yang berisi kode procedure yang
dapat di modifikasi jika masalah / kesalah.
USER OBJECTS
adalah
semua data objek yang dapat diakses oleh user dan untuk meliat suatu nilai
apakah nilai tersebut valid atau tidak valid.
USER DEPENDENCIES
User
dependencies adalah sebuah data yang dapat berdiri sendiri pada table dictinary
GRANT
Grant
merupakan perintah/mengijinkan yang digunakan untuk mengizinkan seorang user
untuk mengakses tabel pada database tertentu.
Contoh:
GRANT SELECT ON CLUB TO PUBLIC
GRANT SELECT, INSERT, UPDATE, DELETE ON CLUB TO USER01
Contoh:
GRANT SELECT ON CLUB TO PUBLIC
GRANT SELECT, INSERT, UPDATE, DELETE ON CLUB TO USER01
REVOKE
REVOKE,
merupakan perintah yang digunakan untuk mencabut suatu hak akses seorang user
pada tabel dalam database tertentu.
Contoh:
REVOKE INSERT, UPDATE, DELETE ON CLUB FROM USER01
REVOKE ALL ON CLUB FROM PUBLIC
Contoh:
REVOKE INSERT, UPDATE, DELETE ON CLUB FROM USER01
REVOKE ALL ON CLUB FROM PUBLIC
DATABASE ADMINISTRATOR
Jika
ada data yang tidak sengaja telah di drop tidak dapa di kembalikan lagi
walaupun menggunakan Rollbeck hanya seseorang databese administrator yang dapat
recoveri data yang sudah di hapus / drop .
CREATE OR REPLACE PROCEDURE
Digunakan
untuk merubah/menggati suatu procedure supaya mencegah
kesalahan ,dalam create or replace procedure kita sebenarnya
membuat procedure lagi yang sudah ada hanya saja merplace procedure yang lama
PARAMETER
parameter
yang terdapat pada Procedure dinamakan Formal Parameter. Sedangkan Parameter
yang terdapat pada si pemanggil Procedure adalah Actual Parameter.
Tipe Parameter pada Procedure ada 3 :
- IN parameter, Merupakan Tipe parameter yang didefinisikan pada aktual parameter untuk kemudian ditangkap oleh formal parameter. Kita tidak perlu menuliskan IN untuk mendefinisikan parameter tersebut, karena parameter IN telah didefinisikan secara DEFAULT oleh Oracle.
OUT parameter. Merupakan tipe parameter pada
procedure yang nilainya dapat digunakan oleh si pemanggil procedure dan
bisa dibilang OUT parameter merupakan kebalikan dari IN parameter.
- IN OUT parameter. Tipe parameter yang digunakan untuk mengirimkan sebuah nilai ke procedure yang kemudian akan diproses dan dikembalikan kepada si pemanggil procedure.
MENGGUNKAN
DEFAULT PADA PARAMETER
Dapat menetapkan nilai default
ke dalam parameter
IN sebagai berikut :
1.
Tugas operator
(:=) untuk menampilkan nama parameter
Nilai
default tidak dapat pada parameter out dan in out
Perintah
Perinta pada Procedure antaranya
·
DROP PROCEDURE calc_comm;
·
ALTER PROCEDUR calc_comm;
·
dll
1. The UPDATE_EMPLOYEE procedure contains an algorithm that calculates an
employee's commission multiple times throughout the program. If a change is
made to the algorithm, the change must be made multiple times. How can this
procedure be modified to simplify the code and reduce duplicated code?
Jawab : C. Add a local subprogram containing the algorithm.
Alasan : Suatu perintah
sql untuk Menambahkan subprogram agar mempermudah dan tidak membuat ulang
programnya.
2.
For which reason might you create a subprogram within a procedure?
Jawab : D. to store a repeating block of code once without creating a
separate construct
Alasan : Untuk membuat suatu program hanya sekali tanpa harus membuat ulang
programnya
3.
When invoking a procedure, you can specify the arguments using the
positional method by listing the values in the order of the argument list.
Which method would you use to list values in an arbitrary order?
Jawab : D. Named
Alasan : Suatu method yang digunakan untuk mengisi nilai yang dapat
dijadikan perintah yang diubah-ubah
4.
Which type of construct should you create to solely perform an action
without returning a value?
Jawab : C. procedure
Alasan : Karena procedure tidak mengembalikan nilai
5.
Examine this procedure:
CREATE OR
REPLACE PROCEDURE find_seats_sold
(v_movie_id IN
NUMBER DEFAULT 34, v_theater_id IN NUMBER) IS
v_seats_sold
gross_receipt.seats_sold%TYPE;
BEGIN
SELECT seats_sold
INTO v_seats_sold FROM gross_receipt
WHERE movie_id
= v_movie_id AND theater_id = v_theater_id;
END;
Which command
will successfully invoke this procedure in SQL*Plus?
Jawab : C. EXECUTE find_seats_sold (v_theater_id => 500, v_movie_id
=> 34);
Alasan : Untuk menjalankan digunakan perintah execute jawaban a tidak
sesuai karena tidak ada parameter b syntax RUN bukan perintah menjalankan
program dan d kurang sesuai karena berupa inputan jawaban c paling sesuai
menurut syntax
13. Procedures and functions can be created and stored in the database or in an
Oracle Developer application. How is performance improved when storing
procedures and functions in the database?
Jawab : C. Network traffic
is decreased by bundling commands.
Alasan : untuk
meningkatkan performance ketika penyimpanan prosedur dan function dalam
database adalah dengan menurunkan lalulintas jaringan.
14. Examine this function:
CREATE OR REPLACE FUNCTION set_budget
(v_studio_id IN NUMBER, v_new_budget IN NUMBER)
RETURN BOOLEAN IS
BEGIN
UPDATE studio
SET yearly_budget = v_new_budget
WHERE id = v_studio_id;
IF SQL%FOUND THEN
RETURN TRUE;
ELSE RETURN FALSE;
END IF;
COMMIT;
END;
Which code will successfully invoke this function?
Jawab : D.
DECLARE v_updated_flag BOOLEAN;
BEGIN
v_updated_flag := set_budget(11,500000000);
END;
Alasan : untuk
menjalankan perintah function yang benar adalah dengan memberi deklarasi
kemudian nama function type data true/false boolean, kemudian mengisi nama
parameter dan function dengan 11,500000000.
15. Which two subprogram headers are correct? (Choose two.)
Jawab : B.
CREATE OR REPLACE PROCEDURE get_sal (v_sal IN number) IS
CREATE OR
REPLACE FUNCTION calc_comm RETURN number (p_amnt IN number)
D. CREATE OR
REPLACE FUNCTION calc_comm (p_amnt IN number) RETURN number
Alasan : jawaban a salah
karena salah penempatan is, c salah karena function akan mengembalikan type
data bukan parameter, jawaban d seharusnya hanya ada parameter saja.
16. Procedures and functions are very similar. For which reason would you
choose a function over a procedure?
Jawab : B. A
function can be used in a SQL statement.
Alasan : karena
function dapat digunakan dalam perintah SQL
17. The GET_BUDGET function is no longer needed and should be removed. Which
command will successfully remove this function from the database?
Jawab : C. DROP
FUNCTION get_budget;
Alasan : untuk
menghapus function get_budget maka digunakan drop function
18. Which code successfully calculates commission returning it to the calling
environment?
Jawab : D. CREATE OR
REPLACE FUNCTION calc_comm (v_emp_id IN NUMBER) RETURN number IS
v_total NUMBER;
BEGIN
SELECT SUM(ord.total) INTO v_total
FROM ord,customer
WHERE ord.custid = customer.custid
AND customer.repid = v_emp_id;
RETURN (v_total * .20);
END;
Alasan : Jawaban A dan B
salah karena tidak mengembalikan nilai sedangkan C syntax tidak lengkap
19. Examine this function:
CREATE OR REPLACE FUNCTION get_budget
(v_studio_id IN NUMBER, v_max_budget IN NUMBER) RETURN
number IS
v_yearly_budget NUMBER;
BEGIN
SELECT yearly_budget INTO v_yearly_budget FROM studio
WHERE id = v_studio_id;
IF v_yearly_budget > v_max_budget THEN RETURN
v_max_budget;
ELSE RETURN v_yearly_budget;
END IF;
END;
Which set of statements will successfully invoke this
function within SQL*Plus?
Jawab : A. SELECT id,
name, get_budget(id,200) FROM studio;
Alasan : untuk memanggil
function digunakan select kemudian nama function
20. A stored function can be invoked in many different ways. Which invocation
example is NOT valid?
Jawab : D. executing the
stored function within the DEFAULT clause of the CREATE TABLE
Alasan : Karena function
tidak dapat membuat tabel
21. You have just created a PL/SQL user-defined function called CALC_COMM.
Which statement will successfully test it?
Jawab : D. SELECT * FROM
ord GROUP BY ordid HAVING calc_comm(total) > 5000;
Alasan : Memanggil
function dengan kondisi having....function
22. How do functions simplify maintainability?
Jawab : A. by limiting
changes to logic to one location
Alasan : memperbaiki satu
lokasi function untuk pemanggilan satu function
23. Which two statements are true? (Choose two.)
Jawab : A. function must return a value.
D. A function can be invoked from within a PL/SQL
expression.
Alasan : karena pernyataan yang benar adalah function
pasti mengembalikan nilai dan function dapat digunakan dalam PL/SQL
24. Examine this statement:
SELECT id, theater_pck.get_budget(id)
FROM studio;
What must be true about the GET_BUDGET function for this
statement to be successful?
Jawab : B. It must not
modify the database.
Alasan : tidak bisa
memodifikasi database karena select untuk menampilkan
25. Examine this function:
CREATE OR REPLACE FUNCTION get_budget
RETURN number IS
v_yearly_budget NUMBER;
BEGIN
SELECT yearly_budget INTO v_yearly_budget
FROM studio WHERE id = v_studio_id;
RETURN v_yearly_budget;
END;
What additional code is needed to compile this function
successfully?
Jawab : D. Add "(v_studio_id IN NUMBER)" right
before the RETURN statement of the header.
Alasan : Karena yang dibutuhkan adalah Menambah variable
sebelum return
C.
EXECUTE find_seats_sold
(v_theater_id => 500);
Command yang digunakan untuk memanggil procedure
find_seat_sold adalah EXECUTE find_seat_sold(v_thetater_id
=>500);,v_movie_id telah diisi dengan 34 karena di default dan v_theater_id
diisi 500.
27.
Which statement about declaring
parameters is true?
B .Data type and maximum length are required.
Pendeklarasian parameter yang benar dalam oracle dengan tipe
varchar2 yaitu harus menambahkan data type dan maximum length.
29. The CALC_COMM procedure is no longer
needed and should be removed. Which command will successfully remove this
procedure from the database?
A. DROP calc_comm;
DROP digunakan untuk menghapus suatu object database
tertentu.
30. Examine this procedure:
CREATE PROCEDURE add_theater IS
BEGIN
INSERT INTO theater
VALUES (35, 'Riverplace Theatre',
'1222 River Drive, Austin, Tx.');
END;
Which three statements about this
procedure are true? (Choose three.)
A. The ADD_THEATER procedure is written
in SQL.
B. The ADD_THEATER procedure can be
shared by multiple programs.
C. The ADD_THEATER procedure will be
stored in the database as a schema object.