• 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错。

     

  • 相关阅读:
    Java高并发秒时啊API之Service层
    Junit测试类生成
    Java高并发秒时啊API之业务分析与Dao层2
    Java高并发秒时啊API之业务分析与Dao层1
    JSP知识_EL表达式
    Maven_3_webAPP
    Maven_2_核心知识
    添加bean的监听
    异步上传文件
    ACTIVITI工作流的集成记录
  • 原文地址:https://www.cnblogs.com/hzcya1995/p/13317146.html
Copyright © 2020-2023  润新知