您的位置:首页 > 产品设计 > UI/UE

OCP 1Z0 051 QUESTION NO: 19

2014-06-03 10:30 489 查看
QUESTION NO: 19

Examine the structure of the EMPLOYEES table:



You want to create a SQL script file that contains an INSERT statement. When the script is run,

the INSERT statement should insert a row with the specified values into the EMPLOYEES table.

The INSERT statement should pass values to the table columns as specified below:



A. INSERT INTO employees

VALUES (emp_id_seq.NEXTVAL, '&ename', '&jobid', 2000, NULL, &did);

B. INSERT INTO employees

VALUES (emp_id_seq.NEXTVAL, '&ename', '&jobid',

2000, NULL, &did IN (20,50));

C. INSERT INTO (SELECT *

FROM employees

WHERE department_id IN (20,50))

VALUES (emp_id_seq.NEXTVAL, '&ename', '&jobid', 2000, NULL, &did);

D. INSERT INTO (SELECT *

FROM employees

WHERE department_id IN (20,50)

WITH CHECK OPTION)

VALUES (emp_id_seq.NEXTVAL, '&ename', '&jobid', 2000, NULL, &did);

E. INSERT INTO (SELECT *

FROM employees

WHERE (department_id = 20 AND

department_id = 50)

WITH CHECK OPTION )

VALUES (emp_id_seq.NEXTVAL, '&ename', '&jobid', 2000, NULL, &did);

A 未做限制

B 限制方法不对

C 试图使用view限制,但少了条件WITH CHECK OPTION

E 条件错误 department_id = 20 AND department_id = 50

本题考核可更新view的WITH CHECK OPTION子句

SQL> show user
User is "test"

SQL> DROP TABLE employees PURGE;
Table dropped

SQL> CREATE TABLE employees
2  (
3  employee_id NUMBER NOT NULL,
4  emp_name VARCHAR2(30),
5  job_id VARCHAR2(20),
6  sal NUMBER,
7  mgr_id NUMBER,
8  department_id NUMBER
9  );
Table created

SQL>INSERT INTO
  2    (SELECT *
  3       FROM employees
  4      WHERE department_id IN (20, 50) WITH CHECK OPTION)
  5  VALUES
  6    (emp_id_seq.nextval, '&ename', '&jobid', 2000, NULL, &did);
Enter value for ename: aa
Enter value for jobid: 1
Enter value for did: 1
old   6:   (emp_id_seq.nextval, '&ename', '&jobid', 2000, NULL, &did)
new   6:   (emp_id_seq.nextval, 'aa', '1', 2000, NULL, 1)
  (emp_id_seq.nextval, 'aa', '1', 2000, NULL, 1)
   *
ERROR at line 6:
ORA-01402: view WITH CHECK OPTION where-clause violation


SQL>/
Enter value for ename: aa
Enter value for jobid: 1
Enter value for did: 20
old   6:   (emp_id_seq.nextval, '&ename', '&jobid', 2000, NULL, &did)
new   6:   (emp_id_seq.nextval, 'aa', '1', 2000, NULL, 20)

1 row created.


Answer: D
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: