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> 989. 数组形式的整数加法
    Java> Java核心卷读书笔记
    npx是干嘛的
    typescript教程
    http Get 发送body数据
    59. 螺旋矩阵 II
    使用静态代理模式实现公用的报表导出功能
    win10更新后 sqlserver客户端连接一段时间后报错 CryptUnprotectData: Win32 错误:-2146893813 (Microsoft.SqlServer.RegSvrEnum)或该项不适用于在指定状态下使用
    Docker Compose-Window
    Docker的容器使用与连接-Window
  • 原文地址:https://www.cnblogs.com/hzcya1995/p/13317146.html
Copyright © 2011-2022 走看看