zoukankan      html  css  js  c++  java
  • OCP-1Z0-051-V9.02-165题

    165. View the Exhibit and  examine the description for the CUSTOMERS table.

    You want to update the CUST_INCOME_LEVEL and CUST_CREDIT_LIMIT columns for the customer

    with the CUST_ID 2360. You want the value for the CUST_INCOME_LEVEL to have the same value as

    that of the customer with the CUST_ID 2560 and the CUST_CREDIT_LIMIT to have the same value as

    that of the customer with CUST_ID 2566.

    Which UPDATE statement will accomplish the task?

     

    A. UPDATE customers

    SET cust_income_level = (SELECT cust_income_level                         

    FROM customers                         

    WHERE cust_id = 2560),    

    cust_credit_limit = (SELECT cust_credit_limit                         

    FROM customers                          

    WHERE cust_id = 2566)

    WHERE cust_id=2360;

    B. UPDATE customers

    SET (cust_income_level,cust_credit_limit) = (SELECT                                

    cust_income_level, cust_credit_limit                         

    FROM customers                         

    WHERE cust_id=2560 OR cust_id=2566)

    WHERE cust_id=2360;

    C. UPDATE customers

    SET (cust_income_level,cust_credit_limit) = (SELECT                                

    cust_income_level, cust_credit_limit                         

    FROM customers                          

    WHERE cust_id IN(2560, 2566)

    WHERE cust_id=2360;

    D. UPDATE customers

    SET (cust_income_level,cust_credit_limit) = (SELECT                                

    cust_income_level, cust_credit_limit                         

    FROM customers                          

    WHERE cust_id=2560 AND cust_id=2566)

    WHERE cust_id=2360;

    Answer: A

    答案解析:

    参考:http://blog.csdn.net/rlhua/article/details/12885143

    BC的子查询返回的是多行,所有报错。

    D的子查询条件不正确,

    题意说:更新CUST_ID为2360的CUST_INCOME_LEVEL和CUST_CREDIT_LIMIT列值。你想让CUST_INCOME_LEVEL的值与CUST_ID为2560的值一样,让CUST_CREDIT_LIMIT的值与CUST_ID为2566的值一样

    按题意,只有A正确。

    实验验证:

    A

    UPDATE customers
      2  SET cust_income_level = (SELECT cust_income_level                        
    FROM customers                        
    WHERE cust_id = 2560),   
    cust_credit_limit = (SELECT cust_credit_limit                        
    FROM customers                        
    WHERE cust_id = 2566)
      8  WHERE cust_id=2360;
     
    1 row updated.

    B

    sh@TESTDB> UPDATE customers
      2  SET (cust_income_level,cust_credit_limit) = (SELECT                               
    cust_income_level, cust_credit_limit                        
    FROM customers                        
    WHERE cust_id=2560 OR cust_id=2566)
      6  WHERE cust_id=2360;
    SET (cust_income_level,cust_credit_limit) = (SELECT
                                                 *
    ERROR at line 2:
    ORA-01427: single-row subquery returns more than one row
     
     
    C
    sh@TESTDB> UPDATE customers
      2  SET (cust_income_level,cust_credit_limit) = (SELECT                               
    cust_income_level, cust_credit_limit                        
    FROM customers                        
    WHERE cust_id IN(2560, 2566)
      6  WHERE cust_id=2360;
    WHERE cust_id=2360
    *
    ERROR at line 6:
    ORA-00907: missing right parenthesis
    缺失右括号
    添加上 右括号也报错误 single-row subquery returns more than one row
     
    sh@TESTDB>  UPDATE customers
      2  SET (cust_income_level,cust_credit_limit) =
      3  (SELECT
      4  cust_income_level, cust_credit_limit FROM customers
      5  WHERE cust_id IN(2560, 2566))
      6   WHERE cust_id=2360;
    (SELECT
    *
    ERROR at line 3:
    ORA-01427: single-row subquery returns more than one row
    D
    sh@TEST0924> UPDATE customers
      2  SET (cust_income_level,cust_credit_limit) = (SELECT
      3  cust_income_level, cust_credit_limit    
      4  FROM customers
      5  WHERE cust_id=2560 AND cust_id=2566)
      6  WHERE cust_id=2360;

    1 row updated.
  • 相关阅读:
    bzoj2763: [JLOI2011]飞行路线(分层图spfa)
    8.20noip模拟题
    8.19noip模拟题
    1046: [HAOI2007]上升序列(dp)
    bzoj1079: [SCOI2008]着色方案(dp)
    逆序对
    P1966 火柴排队(逆序对)
    NOIP 2015 DAY2
    8.15学校模拟
    差分
  • 原文地址:https://www.cnblogs.com/hzcya1995/p/13316837.html
Copyright © 2011-2022 走看看