Homework Week #1
PL/SQL Virtual Training
1. Circle the programming language meeting the criteria
3GL PL/SQL SQL
4GL PL/SQL SQL
Is proprietary to Oracle Corporation PL/SQL SQL
Nonprocedural PL/SQL SQL
Procedural PL/SQL SQL
Is ANSI-compliant PL/SQL SQL
2. In your own words, describe why a procedural language like PL/SQL is needed.
Permite imbinarea instructiunilor logice si de control cu instructiuni SQL.
3. Complete the following chart defining the syntactical requirements for a PL/SQL block:
Optional or Mandatory? What is included in this section?
DECLARE Optional Include variabile, cursori, exceptii
BEGIN - Obligatoriu Instructiuni SQL si PL-SQL
EXCEPTION Optional Actiuni efectuate cand apar erori
END; - Obligatoiu
5. In Application Express:
0 Create and execute a simple anonymous block that outputs your name.
BEGIN
DBMS_OUTPUT.PUT_LINE (Monica Chirita);
END;
B. Create and execute a simple anonymous block that does the following:
0 Declares a variable of datatype DATE and populates it with the date that is six months from
today
1 Outputs In six months, the date will be: <insert date>.
2
DECLARE
v_date DATE;
BEGIN
SELECT ADD_MONTH(Sysdate, 6) INTO v_date FROM DUAL;
DBMS_OUTPUT.PUT_LINE(In six months, the date will be: || v_date);
END;
6. Write a SQL statement that will return data that looks like this:
SELECT country_name COUNTRY,
national_holiday_name ||' is '|| national_holiday_date AS "NATIONAL HOLIDAY"
FROM wf_countries;
7. Due to a successful global health program, the life expectancy at birth will increase by 7 years for
countries whose median ages are below 20. Display the current and increased life expectancy for
these countries in the wf_countries table. Name the calculated column Improved Expectancy.
SELECT country_id, country_name, life_expect_at_birth,
life_expect_at_birth + 7 as "Improved Expectancy"
FROM wf_countries
WHERE median_age < 20;
8. Write a SQL statement that lists the country names in alphabetical order. Display the results in
uppercase and give the column a heading of NAME.
SELECT UPPER(country_name) AS NAME
FROM wf_countries
ORDER BY country_name;
9. Display all the languages in the wf_languages table that start with f. Use the lowercase f in
your SQL statement.
SELECT *
FROM wf_languages
WHERE LOWER(language_name) like 'f%';
10. From the wf_world_regions table, display the ID, name, and an abbreviation that is the first three
characters of the region name.
SELECT region_id, region_name, SUBSTR(region_name,1,3) AS abbreviation
FROM wf_world_regions;
11. Modify your SQL statement so that the abbreviation is the first three characters of the region name
followed by the length of the region name. For example: Western Asia would be Wes12.
SELECT region_id, region_name,
CONCAT(SUBSTR(region_name,1,3), LENGTH(region_name)) AS abbreviation
FROM wf_world_regions;
12. Display all country names from the wf_countries table, along with the life expectancy, rounded to
the nearest whole number.
SELECT country_name, ROUND(life_expect_at_birth, 0)
FROM wf_countries;
13. Write a SQL statement to list country names and capitals. If the capital is null, display it as none
listed.
SELECT country_name, NVL(capital,'none listed')
FROM wf_countries;