ITPub博客

首页 > 数据库 > Oracle > ocp11g lz0-047 question 76

ocp11g lz0-047 question 76

原创 Oracle 作者:crystal_ocean 时间:2014-01-28 15:13:33 0 删除 编辑
QUESTION 76

View the Exhibit and examine the structure of the ORDERS table.

Which UPDATE statement is valid?

A. UPDATE orders
SET order_date = '12-mar-2007',
order_total IS NULL
WHERE order_id = 2455;

B. UPDATE orders
SET order_date = '12-mar-2007',
order_total = NULL
WHERE order_id = 2455;

C. UPDATE orders
SET order_date = '12-mar-2007'
AND order_total = TO_NUMBER(NULL)
WHERE order_id = 2455;

D. UPDATE orders
SET order_date = TO_DATE('12-mar-2007','dd-mon-yyyy'), SET order_total = TO_NUMBER(NULL)
WHERE order_id = 2455;


Answer: B



验证过程:在此我以scott用户下emp表为例。

选项A:
SQL> update emp set hiredate='12-mar-2007',comm is null where empno=7499;
update emp set hiredate='12-mar-2007',comm is null where empno=7499
                                           *
ERROR at line 1:
ORA-00927: missing equal sign

选项B:
SQL> update emp set hiredate='12-mar-2007',comm=null where empno=7499;

1 row updated.

选项C:
SQL> update emp set hiredate='12-mar-2007' and comm=to_number(null) where empno=7499;
update emp set hiredate='12-mar-2007' and comm=to_number(null) where empno=7499
                                      *
ERROR at line 1:
ORA-00933: SQL command not properly ended

选项D:
SQL> 
SQL> update emp set hiredate=to_date('12-mar-2007','dd-mon-yyyy'),set comm=to_number(null) where empno=7499;
update emp set hiredate=to_date('12-mar-2007','dd-mon-yyyy'),set comm=to_number(null) where empno=7499
                                                             *
ERROR at line 1:
ORA-01747: invalid user.table.column, table.column, or column specification


只有B选项update语句更新成功,所以在使用update语句做更新时,要注意为列赋新值时用“=”(尽管新值为null),多列同时更新列与列之间用逗号分隔。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/29457434/viewspace-1076245/,如需转载,请注明出处,否则将追究法律责任。

上一篇: 没有了~
请登录后发表评论 登录
全部评论

注册时间:2014-01-23

  • 博文量
    13
  • 访问量
    89600