翻译:陈拓 chentuo@ms.xab.ac
2006 年 6 月16 日
A
PL/SQL
基础测验
B
PL/SQL
基础测验答案
PL/SQL 基础测验
问题是作为复习来设计的。
1. 基本PL/SQL块的4个关键字是什么?每个区域的作用使什么?
[DECLARE
Declare local variables
]BEGIN
Executable statements
[EXCEPTION
Error handling statements
]END;
2. 可执行语句必须以什么结束?
; (分号)
3. 声明变量的语法是什么?
variable_name DATATYPE [:=] [NOT NULL];
4. 声明常量的语法是什么?
constant_name CONSTANT DATATYPE := ;
5. 声明光标的语法是什么?
CURSOR cursor_name IS SELECT statement ;
6. 声明异常的语法是什么?
exception_name EXCEPTION;
7. 怎样将该异常与一个已知的Oracle错误连接起来?
PRAGMA EXCEPTION_INIT (exception_name, ERROR_NUMBER); 8. 用什么符号为变量指定值?
:=
9. SQL SELECT 语句的语法与PL/SQL SELECT 语句的语法有什么不同?
The PL/SQL SELECT has to have an INTO clause.
10. 在 PL/SQL 中 SELECT 可以选择多少行?
1
11. 如果选择 0 行将会发生什么?
ERROR ­1403: no data found
12. 如果选择多于一行将会发生什么?
ERROR ­1422: exact fetch returns more than the requested
plsql配置oracle主目录number of rows
13. 在哪里处理错误?
In the EXCEPTION section
14. 怎样处理这些错误?
WHEN error_name
THEN action(s);
15. 怎样给用户一个可选的错误消息?
RAISE_APPLICATION_ERROR ( error_number, error_text);
error_number must be between ­20000 and ­20999
16. 你可以INSERT、UPDATE 和 DELETE 多少行?
0, 1, or many. No restrictions.
17. 怎样测试有多少行处理过?
Use the implicit cursor attribute, SQL%ROWCOUNT.
18. 怎样知道是否有行被改变了?
Use the implicit cursor attribute, SQL%FOUND or SQL%NOTFOUND.
19. 怎样引发一个你自己选择的错误?
IF SQL%NOTFOUND
THEN
RAISE_APPLICATION_ERROR (­20022, ’No rows changed.’); END IF;
or
RAISE no_data_found;
or
RAISE my_error; ­­ where my_error was previously declared 20. IF 子句的语法是什么。包括 ELSE 和 ELSE IF 吗?
IF condition(s)
THEN action(s);
ELSIF condition(s)
THEN action(s);
ELSE
action(s);
END IF;
21. 带出口的基本循环语法是什么?
LOOP
action(s);
EXIT WHEN condition; END LOOP;

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。