Expert
13-18. | Suppose you want to pass the same value repeatedly in a dynamic SQL statement. Here is an example of such a string: sql_stmt := 'INSERT INTO old_growth VALUES (:x, :x, :y, :x)'; Which of the following EXECUTE IMMEDIATE statements correctly handle this situation? EXECUTE IMMEDIATE sql_stmt USING a, a, b, a; EXECUTE IMMEDIATE sql_stmt USING a, b; |
13-19. | Write a function that returns the value stored in the data element specified by name. In other words, if you have a variable last_date in the profits package, your function retrieves its value as follows: got_it := value_in ('profits.last_date'); |
13-20. | Why won’t the following use of the value_in function (see 13-19) work? DECLARE n NUMBER := 100; BEGIN IF value_in ('n') = 100 THEN |
13-21. | Suppose that you want to pass the same value repeatedly in a dynamic PL/SQL statement. Here is an example of such a string: sql_stmt := 'BEGIN show_min_compensation (:x, :x, :y, :x); END;'; Which of the following EXECUTE IMMEDIATE statements correctly handles the situation in 13-20? EXECUTE IMMEDIATE sql_stmt USING a, a, b, a; EXECUTE IMMEDIATE sql_stmt USING a, b; |
13-22. | Suppose you want to pass a NULL value to a dynamic SQL statement through the USING clause. What happens when you try to execute the following statement? BEGIN EXECUTE IMMEDIATE 'UPDATE employee SET salary = :x WHERE fire_date IS NOT NULL' USING NULL; END; |
13-23. | How can you transform the following statement so that you can pass a NULL value for the salary? BEGIN EXECUTE IMMEDIATE 'UPDATE ... |
Get Oracle PL/SQL Programming: A Developer's Workbook now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.