请检查如下的查询语句:
SELECT order_num, &order_date
FROM &&ordertbl
WHERE order_date=’&order_date’;
在以下有关执行这个SQL语句的陈述中,哪一个是正确的
A.在一个会话中,每次执行这个语句时都要提示用户输入表名
B.在一个会话中,只在第一次执行这个语句时提示用户输入表名
C.在一个会话中,每次执行这个语句时都要提示用户输入order_num列的值
D.在执行这个语句时将产生错误,因为WHERE子句中不允许有替代变量
E.在执行这个语句时将产生错误,因为替代变量在一个查询语句中必须唯一
参考答案:B
解析: 这一题是测试对以“&”开始的替代变量和以“&&”开始的替代变量的理解。根据相关的介绍,可以断定选项B是正确的。如果将以上查询语句中的FROM &&ordertbl修改为FROM &ordertbl,A才是正确的,所以选项A是错误的。
根据有关替代变量可以出现的地方的介绍,可知替代变量几乎可以出现在SQL语句中的任何地方,其中包括在WHERE子句,所以选项D肯定是错误的。
因为order_num不是替代变量,因此系统执行SQL语句时不可能提示用户输入这个列的值,所以选项C也是错误的。
因为替代变量中一个查询语句可以多次使用,只不过每次系统都要提示用户而已,所以选项E也是错误的。