OCP-1Z0-051 补充题库 第19题 限制替代变量的输入值

该博客讨论了Oracle OCP 1Z0-051考试中的一道题目,涉及如何创建一个INSERT语句,确保DEPARTMENT_ID字段的值只能为20或50。通过分析选项,解释了使用WITH CHECK OPTION的视图来限制替代变量输入值的正确方法。
摘要由CSDN通过智能技术生成
一、原题
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:


Which INSERT statement meets the above requirements?
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);


答案: D

二、题目翻译
下面是EMPLOYEES表的结构:
现在要建一个包含INSERT语句的脚本文件,当脚本文件运行的时候,INSERT语句会向EMPLOYEES表中插入一行指定的数据。
INSERT插入的值应该满足下面的要求:
EMPLOYEE_ID: 是序列中的next value。
EMP_ID_SEQ EMP_NAME和JOB_ID: 运行时通过替代变量实现。
SAL: 2000
MGR_ID:没值。
DEPARTMENT_ID:运行时通过替代变量实现,如果用户插入了20或50以外的其它值,则插入失败。
下面的INSERT语句,哪一个能实现上面的要求?

三、题目解析
D选项正确,因为题目要求department_id只能输入20或50, 替代变量不能限制输入,所以,通过视图的WITH CHECK OPTION来限制输入的值。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值