ORACLE 语法
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ORACLE 语法相关的知识,希望对你有一定的参考价值。
第5题
The INVENTORY table contains these columns:
ID_NUMBER NUMBER PK
DESCRIPTION VARCHAR2(30)
SUPPLIER_ID NUMBER
You want to create a query that for each session allows the user to input a value for DESCRIPTION each time the query runs. While the DESCRIPTION column is stored in upper case, you want the query to retrieve matching values regardless of the case used when inputting the substitution variable value.
Which SELECT statement should you use?
(A) SELECT id_number, supplier_id FROM inventory WHERE description = UPPER(&description);
(B) SELECT id_number, supplier_id FROM inventory WHERE LOWER(description) = LOWER(’&description’);
(C) SELECT id_number, supplier_id FROM inventory WHERE LOWER(description) = ’&description’;
(D) SELECT id_number, supplier_id FROM inventory WHERE description = UPPER(’&&description’);
选哪个 ?为什么?
=>右面的赋值表达式必须有upper函数,排除BC
A和D运行一下不就知道了?这是固定格式,记住就得。深究,看下文。
---------------------------------------------------------
变量可以在运行时应用,变量可以出现在WHERE 字段,文本串,列名,表名等。
1、我们这里的运行时,指的是在SQL PLUS中运行。
2、ACCEPT :读取用户输入的值并赋值给变量
3、DEFINE:创建并赋值给一个变量
4、在做REPORT时经常使用,比如对某个部门的销售信息进行统计,部门名称可以以变量代替。
SQL PLUS不支持对输入数据的有效性检查,因此提示要简单且不模棱两可。
二、应用实例:
1、SQL> SELECT id, last_name, salary
2 FROM s_emp
3 WHERE dept_id = &department_number;
2、可以在赋值前后进行比较:
SET VERIFY ON
.....
1* select * from emp where lastname='&last_name'
输入 last_name 的值: adopt
原值 1: select * from emp where lastname='&last_name'
新值 1: select * from emp where lastname='adopt'
----如果在原语句中没有单引号,那么在输入值的时候要手工加上单引号。一般字符和日期型要在语句中加上单引号。
SET VERIFY OFF 之后,原值和新值这两句消失。这在ORACLE8I中是默认为ON。
3、子句为变量:WHERE &condition; 要注意引号
参考资料:网络
参考技术A AOracle常用语法整理
因本人是刚进入开发不久的新人,所以平时整理了一些常用的oracle语法,现分享如下:
以上是关于ORACLE 语法的主要内容,如果未能解决你的问题,请参考以下文章