1Z0-146 無料問題集「Oracle database 11g:advanced pl/sql」
Examine the following command to create the table EMPLOYEES_TEMP and the PL/SQL block.
CREATE TABLE employees_temp (empid NUMBER(6) NOT NULL,
deptid NUMBER(6) CONSTRAINT c_emp_deptid CHECK (deptid BETWEEN 100 AND 200),
salary Number(8),
deptname VARCHAR2(30) DEFAULT 'Sales')
/
DECLARE
SUBTYPE v_emprec_subtype IS employees_temp%ROWTYPE;
v_emprec v_emprec_subtype;
BEGIN
v_emprec.empid := NULL; v_emprec.salary := 10000.002;
v_emprec.deptid := 50;
DBMS_OUTPUT.PUT_LINE('v_emprec.deptname: ' || v_emprec.deptname);
END;
/
Which statements are true about the above PL/SQL block? (Choose two.)
CREATE TABLE employees_temp (empid NUMBER(6) NOT NULL,
deptid NUMBER(6) CONSTRAINT c_emp_deptid CHECK (deptid BETWEEN 100 AND 200),
salary Number(8),
deptname VARCHAR2(30) DEFAULT 'Sales')
/
DECLARE
SUBTYPE v_emprec_subtype IS employees_temp%ROWTYPE;
v_emprec v_emprec_subtype;
BEGIN
v_emprec.empid := NULL; v_emprec.salary := 10000.002;
v_emprec.deptid := 50;
DBMS_OUTPUT.PUT_LINE('v_emprec.deptname: ' || v_emprec.deptname);
END;
/
Which statements are true about the above PL/SQL block? (Choose two.)
正解:A、B
解答を投票する
View the Exhibit and examine the structure of the EMPLOYEES table.

Examine the following PL/SQL block:
DECLARE
TYPE EmpList
IS VARRAY(2) OF employees.employee_id%TYPE NOT NULL;
v_employees EmpList := EmpList();
BEGIN
DBMS_OUTPUT.PUT_LINE(v_employees.COUNT);
v_employees.EXTEND;
v_employees(1) := 30;
END;
/
Which statement is true about the outcome on executing the above PL/SQL block?

Examine the following PL/SQL block:
DECLARE
TYPE EmpList
IS VARRAY(2) OF employees.employee_id%TYPE NOT NULL;
v_employees EmpList := EmpList();
BEGIN
DBMS_OUTPUT.PUT_LINE(v_employees.COUNT);
v_employees.EXTEND;
v_employees(1) := 30;
END;
/
Which statement is true about the outcome on executing the above PL/SQL block?
正解:C
解答を投票する
A procedure is created in the SYS schema to allow users to change the password as follows: CREATE OR REPLACE PROCEDURE change_password(p_username VARCHAR2 DEFAULT NULL, p_new_password VARCHAR2 DEFAULT NULL)
IS
v_sql_stmt VARCHAR2(500);
BEGIN
v_sql_stmt := 'ALTER USER '||p_username ||' IDENTIFIED BY '
|| p_new_password;
EXECUTE IMMEDIATE v_sql_stmt;
END change_password;
The SYS user has granted EXECUTE privilege on the procedure to the OE user. But OE is able
to change the password for SYS by using this procedure. How would you protect this?
IS
v_sql_stmt VARCHAR2(500);
BEGIN
v_sql_stmt := 'ALTER USER '||p_username ||' IDENTIFIED BY '
|| p_new_password;
EXECUTE IMMEDIATE v_sql_stmt;
END change_password;
The SYS user has granted EXECUTE privilege on the procedure to the OE user. But OE is able
to change the password for SYS by using this procedure. How would you protect this?
正解:C
解答を投票する
Examine the commands:
CREATE TYPE typ_course_tab IS VARRAY(5) OF VARCHAR2(20)
/ CREATE TYPE typ_course_nst AS TABLE OF typ_course_tab / CREATE TABLE faculty (faculty_id NUMBER(5), faculty_name VARCHAR2(30), courses typ_course_nst) NESTED TABLE courses STORE AS course_stor_tab / INSERT INTO faculty VALUES (101, 'Jones', NULL); UPDATE (SELECT courses FROM faculty WHERE faculty_id=101) SET courses = typ_course_nst(11,'Oracle'); Which statement is true about the execution of these commands?
CREATE TYPE typ_course_tab IS VARRAY(5) OF VARCHAR2(20)
/ CREATE TYPE typ_course_nst AS TABLE OF typ_course_tab / CREATE TABLE faculty (faculty_id NUMBER(5), faculty_name VARCHAR2(30), courses typ_course_nst) NESTED TABLE courses STORE AS course_stor_tab / INSERT INTO faculty VALUES (101, 'Jones', NULL); UPDATE (SELECT courses FROM faculty WHERE faculty_id=101) SET courses = typ_course_nst(11,'Oracle'); Which statement is true about the execution of these commands?
正解:C
解答を投票する