问题 单项选择题

以下是INVENTORY(库存)表中每一列的详细定义:

Column Name ID_HUMBER DESCRIPTION MANUFACTURER_ID QUANTITY PRICE ORDER_DATE
Key Type PK FK
Nulls/Unique HN, U NN NN
FK Table MANUFACTURER
FK Column ID_NUMBER
Datatype NUM VARCHAR2 VARCHAR2 NUM HUM DATE
Length 9 25 26 9 8, 2
要删除1997年7月25目之后的任何一个指定的库存记录(即具有一个特定标识号码的库存记录),请问在如下的语句中使用哪个来完成此项操作

A.DELETE FROM
inventory
WHERE
order_date>’25-JUL-1997’
AND

id_number=&id_number;
B.DROP FROM
inventory
WHERE
order_date>TO_DATE(’25-JUL-97’)
AND

id_number=&id_number;
C.DELETE FROM
inventory
WHERE
order_date=>’25-JUL-97’
AND

id_number=’&id_number’;
D.DELETE FROM
inventory
WHERE
order_date>(’25-JUL-1997’)
OR

id_number=&id_number;
E.DELETE FROM
inventory
WHERE
order_date>TO_DATE(’July 25, 1997’, ’DD.MM.YYYY’)
AND

id_number=&id_number;

答案

参考答案:A

解析: 这一题是测试对DELETE语句的理解和熟悉程度。根据本题的要求和INVENTORY表中列的详细定义,可以确定选项A是正确的。
因为Oracle中没有DROP FROM语句,所以选项B肯定是错误的。参阅INVENTORY表中列id_number的定义可知id_number的数据类型为数值型,而在选项C的WHERE子句中id_number=’&id_number’,这显然是错误的(只有字符型和日期型的数据才需要使用单引号括起来),所以选项C肯定也是错误的。因为在选项D的WHERE子句中所用的逻辑运算符是OR,所以在这种情况下即使订货日期不在1997年7月25日之后也有可能满足条件,这与题目的要求不符,所以选项D肯定也是错误的。最后,在选项E的WHERE子句中TO_DATE(’July 25, 1997’,’DD.MM.YYYY’)的格式是错误的,因为DD表示的是两位的数字,显然July无法进行转换。25也无法转换成月份,另外标点符号也不相符,所以选项E肯定是错误的。

解答题
单项选择题 A1/A2型题