PLSQL 2 4 Practice
PLSQL 2 4 Practice
com
A datatype that stores one of the three possible values used for logical
calculations: TRUE, FALSE, or NULL.
Try It / Solve It
1. Declarations:
a number_of_students PLS_INTEGER;
B. For the invalid declarations above, describe why they are invalid.
Write an anonymous block in which you declare and print (on the screen) each of the variables in 1A above,
correcting the invalid declarations and adding information as needed.
Copyright © 2019, Oracle and/or its affiliates. All rights reserved. Oracle and Java are registered trademarks of Oracle and/or its affiliates. Other names may be trademarks of their respective owners.
2
2. Evaluate the variables in the following code. Answer the following questions about each variable. Is it
named well? Why or why not? If it is not named well, what would be a better name and why?
DECLARE
country_name VARCHAR2(50);
median_age NUMBER(6, 2);
BEGIN
SELECT country_name, median_age INTO country_name, median_age FROM
countries
WHERE country_name = 'Japan';
DBMS_OUTPUT.PUT_LINE('The median age in '|| country_name || ' is '
|| median_age || '.');
END;
3. Change the declarations in #2 above so they use the %TYPE attribute.
4. In your own words, describe why using the %TYPE attribute is better than hard-coding data types. Can you
explain how you could run into problems in the future by hard-coding the data types of the country_name
and median_age variables in question 2?
A. Add a declarative section to this PL/SQL block. In the declarative section, declare the following
variables:
A variable named TOMORROW with the same datatype as TODAY. Use the %TYPE at- tribute
to declare this variable.
B. In the executable section, initialize the TOMORROW variable with an expression that calcu- lates
tomorrow’s date (add 1 to the value in TODAY). Print the value of TODAY and TOMOR- ROW after
printing ‘Hello World’.
Copyright © 2019, Oracle and/or its affiliates. All rights reserved. Oracle and Java are registered trademarks of Oracle and/or its affiliates. Other names may be trademarks of their respective owners.