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

    31. Evaluate the following SQL commands:

    SQL>CREATE SEQUENCE ord_seq    

    INCREMENT BY 10    

    START WITH 120    

    MAXVALUE 9999    

    NOCYCLE;

    SQL>CREATE TABLE ord_items       

    (ord_no NUMBER(4)DEFAULT ord_seq.NEXTVAL NOT NULL,        

    item_no NUMBER(3),        

    qty NUMBER(3) CHECK (qty BETWEEN 100 AND 200),

      

    expiry_date date CHECK (expiry_date > SYSDATE),        

    CONSTRAINT it_pk PRIMARY KEY (ord_no,item_no),        

    CONSTRAINT ord_fk FOREIGN KEY(ord_no) REFERENCES orders(ord_no));

    The command to create a table fails. Identify the reason for the SQL statement failure? (Choose all that

    apply.)

    A. You cannot use SYSDATE in the condition of a CHECK constraint.

    B. You cannot use the BETWEEN clause in the condition of a CHECK constraint.

    C. You cannot use the NEXTVAL sequence value as a DEFAULT value for a column.

    D. You cannot use ORD_NO and ITEM_NO columns as a composite primary key because ORD_NO is

    also the FOREIGN KEY.

    Answer: AC

    答案解析:

    scott@TESTDB> create sequence ord_seq

      2  increment by 10

      3  start with 120

      4  maxvalue 9999

      5  nocycle;

    Sequence created.

    scott@TESTDB>  CREATE TABLE ord_items

      2  (expiry_date date CHECK (expiry_date > SYSDATE));

    (expiry_date date CHECK (expiry_date > SYSDATE))

                                           *

    ERROR at line 2:

    ORA-02436: date or system variable wrongly specified in CHECK constraint

    A 、SYSDATE不能用在CHECK约束中,对

    scott@TESTDB>  CREATE TABLE ord_items

      2  (qty NUMBER(3) CHECK (qty BETWEEN 100 AND 200));

    Table created.

    B、BETWEEN可以用在约束中,B错

    scott@TESTDB>  CREATE TABLE ord_items

      2  (ord_no NUMBER(4)DEFAULT ord_seq.NEXTVAL NOT NULL);

    (ord_no NUMBER(4)DEFAULT ord_seq.NEXTVAL NOT NULL)

                             *

    ERROR at line 2:

    ORA-00984: column not allowed here

    C、NEXTVAL不能用作默认值,C对

    sh@TESTDB> create table  orders

      2  (ord_no number primary key);

    Table created.

    sh@TESTDB> create table ord_items

      2  (ord_no number not null,

      3  item_no number,

      4  constraint ord_fk foreign key(ord_no) references orders(ord_no),

      5  constraint it_pk primary key(ord_no,item_no));

    Table created.

    D、外键约束和字段可以和本表组合成主键,D错。

     

  • 相关阅读:
    leetcode--Different Ways to Add Parentheses
    C++调用SQLServer存储过程
    用IdHTTPServer搞个简单的WEB服务器下载文件
    php pdo调用SQLServer存储过程无法获取返回结果
    SQL Server Profiler 跟踪远程服务器的语句
    Delphi格式化函数Format、FormatDateTime和FormatFloat详解
    单独编译某个pas文件
    SQLServer OpenRowSet 导入数据
    模仿QQ气泡聊天
    升级到XE10
  • 原文地址:https://www.cnblogs.com/hzcya1995/p/13317146.html
Copyright © 2011-2022 走看看