Anda di halaman 1dari 11

Agi Fransiska

NPM (190710411)

1.

Query :

DECLARE

Total_0411 transaksi.total%TYPE;

Jenis_Kecepatan_0411 kecepatan.nama_kecepatan%TYPE;

Jenis_Layanan_0411 layanan.nama_layanan%TYPE;

Nama_Pelanggan_0411 pelanggan.nama_pelanggan%TYPE;

Alamat_Pelanggan_0411 pelanggan.alamat_pelanggan%TYPE;

Telepon_Pelanggan_0411 pelanggan.telpon_pelanggan%TYPE;

Nomor_Nota_0411 varchar(6) := '&nomor_nota_0411';

Tanggal_Diserahkan_0411 timestamp with local time zone :=


(sysdate - 7);

Tanggal_Menyerahkan_0411 timestamp with local time zone :=


sysdate;

BEGIN

SELECT total, nama_kecepatan, nama_layanan, nama_pelanggan,


alamat_pelanggan, telpon_pelanggan

INTO Total_0411, Jenis_Kecepatan_0411, Jenis_Layanan_0411,


Nama_Pelanggan_0411,Alamat_Pelanggan_0411,Telepon_Pelanggan_
0411

FROM transaksi TR

JOIN kecepatan K USING(id_kecepatan)

JOIN layanan L USING(id_layanan)

JOIN pelanggan P USING(id_pelanggan)

WHERE nomor_nota = Nomor_Nota_0411;


DBMS_OUTPUT.PUT_LINE('Nomor Nota : ' ||
Nomor_Nota_0411);

DBMS_OUTPUT.PUT_LINE('Tanggal Diserahkan : ' ||


Tanggal_Diserahkan_0411);

DBMS_OUTPUT.PUT_LINE('Tanggal Menyerahkan : ' ||


Tanggal_Menyerahkan_0411);

DBMS_OUTPUT.PUT_LINE('Nama Pelanggan : ' ||


Nama_Pelanggan_0411);

DBMS_OUTPUT.PUT_LINE('Alamat : ' ||
Alamat_Pelanggan_0411);

DBMS_OUTPUT.PUT_LINE('Nomor Handphone : ' ||


Telepon_Pelanggan_0411);

DBMS_OUTPUT.PUT_LINE('Jenis Layanan : ' ||


Jenis_Layanan_0411);

DBMS_OUTPUT.PUT_LINE('Jenis Kecepatan : ' ||


Jenis_Kecepatan_0411);

DBMS_OUTPUT.PUT_LINE('Total : ' || Total_0411);

END;

/
Screenshot Query & Hasil :
2.
Query :

DECLARE
Total_0411 transaksi.total%TYPE;
Jenis_Kecepatan_0411 kecepatan.nama_kecepatan%TYPE;
Jenis_Layanan_0411 layanan.nama_layanan%TYPE;
Nama_Pelanggan_0411 pelanggan.nama_pelanggan%TYPE;
Alamat_Pelanggan_0411 pelanggan.alamat_pelanggan%TYPE;
Telepon_Pelanggan_0411 pelanggan.telpon_pelanggan%TYPE;
Nomor_Nota_0411 varchar(6) := '&nomor_nota_0411';
Tanggal_Diserahkan_0411 timestamp with local time zone :=
(sysdate - 7);
Tanggal_Menyerahkan_0411 timestamp with local time zone :=
sysdate;
PPN_0411 transaksi.total%TYPE := '&ppn_0411';
Discount_0411 transaksi.total%TYPE := '&discount_0411';

BEGIN
SELECT tra.total, kec.nama_kecepatan, lay.nama_layanan,
pel.nama_pelanggan, pel.alamat_pelanggan,
pel.telpon_pelanggan
INTO Total_0411, Jenis_Kecepatan_0411, Jenis_Layanan_0411,
Nama_Pelanggan_0411,Alamat_Pelanggan_0411,Telepon_Pelanggan_
0411
FROM transaksi tra
JOIN kecepatan kec USING(id_kecepatan)
JOIN layanan lay USING(id_layanan)
JOIN pelanggan pel USING(id_pelanggan)
WHERE tra.nomor_nota = Nomor_Nota_0411;

DBMS_OUTPUT.PUT_LINE('Nomor Nota : ' ||


Nomor_Nota_0411);
DBMS_OUTPUT.PUT_LINE('Tanggal Diserahkan : ' ||
Tanggal_Diserahkan_0411);
DBMS_OUTPUT.PUT_LINE('Tanggal Menyerahkan : ' ||
Tanggal_Menyerahkan_0411);
DBMS_OUTPUT.PUT_LINE('Nama Pelanggan : ' ||
Nama_Pelanggan_0411);
DBMS_OUTPUT.PUT_LINE('Alamat : ' ||
Alamat_Pelanggan_0411);
DBMS_OUTPUT.PUT_LINE('Nomor Handphone : ' ||
Telepon_Pelanggan_0411);
DBMS_OUTPUT.PUT_LINE('Jenis Layanan : ' ||
Jenis_Layanan_0411);
DBMS_OUTPUT.PUT_LINE('Jenis Kecepatan : ' ||
Jenis_Kecepatan_0411);
DBMS_OUTPUT.PUT_LINE('Total : ' ||
Total_0411);
DBMS_OUTPUT.PUT_LINE('PPN : ' ||
PPN_0411 || ' %');
DBMS_OUTPUT.PUT_LINE('Total Setelah PPN : Rp. ' ||
TO_NUMBER(Total_0411 + (Total_0411 * PPN_0411 / 100)));
DBMS_OUTPUT.PUT_LINE('Total Setelah Discount : Rp. ' ||
TO_NUMBER(Total_0411 + (Total_0411 * PPN_0411 / 100) -
Discount_0411));
END;
/
Screenshot Query & Hasil :

3.
Query :

SET VERIFY OFF

CREATE TABLE copyemps_10411 AS SELECT * FROM Employees;

ALTER TABLE copyemps_10411 MODIFY EMAIL VARCHAR2(100);

DECLARE

Employee_Id_10411 copyemps_10411.employee_id%TYPE;

First_Name_10411 copyemps_10411.first_name%TYPE;

Last_Name_10411 copyemps_10411.last_name%TYPE;

Email_10411 copyemps_10411.email%TYPE;

Phone_Number_10411 copyemps_10411.phone_number%TYPE;

Hire_Date_10411 copyemps_10411.hire_date%TYPE;

Job_Id_10411 copyemps_10411.job_id%TYPE;

Salary_10411 copyemps_10411.salary%TYPE;

Commission_Pct_10411 copyemps_10411.commission_pct%TYPE;

Manager_Id_10411 copyemps_10411.manager_id%TYPE;

Department_Id_10411 copyemps_10411.department_id%TYPE;

BEGIN

SELECT hire_date, job_id, salary, commission_pct, manager_id,


department_id

INTO Hire_Date_10411, Job_Id_10411, Salary_10411,


Commission_Pct_10411, Manager_Id_10411, Department_Id_10411

FROM copyemps_10411

WHERE SALARY = (SELECT MAX(SALARY) FROM copyemps_10411);

SELECT employee_id

INTO Employee_Id_10411

FROM copyemps_10411
WHERE employee_id = (SELECT MAX(employee_id) FROM
copyemps_10411);

Employee_Id_10411 := employee_id_10411 +
('&Employee_Id_10411' / 18);

First_Name_10411 := '&First_Name_10411';

Last_Name_10411 := '&Last_Name_10411';

Email_10411 :=
CONCAT(SUBSTR(First_Name_10411,0,1),Last_Name_10411);

Phone_Number_10411 :=
CONCAT('628.011.','&Phone_Number_10411');

INSERT

INTO copyemps_10411

VALUES(Employee_Id_10411, First_Name_10411, Last_Name_10411,


Email_10411, Phone_Number_10411, Hire_Date_10411,
Job_Id_10411, Salary_10411, Commission_Pct_10411,
Manager_Id_10411, Department_Id_10411);

DBMS_OUTPUT.PUT_LINE('=====----=====');

DBMS_OUTPUT.PUT_LINE('Employee Id: ' || Employee_Id_10411);

DBMS_OUTPUT.PUT_LINE('First Name: ' || First_Name_10411);

DBMS_OUTPUT.PUT_LINE('Last Name: ' || Last_Name_10411);

DBMS_OUTPUT.PUT_LINE('Email: ' ||
Email_10411||'@students.uajy.ac.id');

DBMS_OUTPUT.PUT_LINE('Phone Number: ' || Phone_Number_10411);

END;

/
Screenshot Query & Hasil :
4.
PostTest 01
1. Tipe data TIMESTAMP dan DATE adalah pada tampilan kelengkapan
waktunya, TIMESTAMP memiliki tampilan dengan size 4 bite (YYYY-
MM-DD HH-MM-SS) sedangkan pada DATE memiliki tampilan dengan
size 3 bite (YYYY-MM-DD).
2. Bisa, asalkan tipe variablenya merupakan local variable pada badan
PL/SQL(begin).
3. Terdapat error saat sedang input value nomor telepon, dimana saat
menginput phone number terdapat concat, hal ini desebabkan karena
variabel yang dapat ditampilkan hanya berisi varchar 25. Cara mengatasinya
dengan menambahkan kapasitas pada varcharnya menjadi lebih besar dari
25.
4. SET VERIFY OFF = digunakan supaya keterangan (old dan new) bawaan
dari Oracle tidak ikut ditampilkan
CREATE TABLE Pegawai_09590 AS SELECT * FROM Pegawai; = untuk
membuat table Pegawai ke Pegawai_09590.
Password_09590 VARCHAR(100) := 'UGD 2' || '-' || '&Password_09590'; =
Password_09590 VARCHAR(100) menampung UGD 2 – ditambah inputan
user
BEGIN = berfungsi untuk mengeksekusi SQL Statements atau PL/SQL
Statements
UPDATE Pegawai_09590 = Melakukan update atau perubahan pada tabel
Pegawai_09590
SET Password = Password_09590 = Nilai dari Password_09590 diassign ke
Password
Untuk menampilkan jumlah perubahan data.

Anda mungkin juga menyukai