Oracle PLSQL习题

PL/SQL习题:

1、

下列哪行代码有错误?

1) DECLARE

2) v_name varchar2(40):=’David Clark’; 3) v_id number(4):=1001; 4) v_status BOOLEAN:=FALSE; 5) BEGIN

6) INSERT INTO EMP(id,name,status) 7) values(v_id,v_name,v_status); 8) END; A. 第2行 B. 第3行 C. 第4行 D. 第7行

2、判断些列语句,v_price的值是多少时,将给变量v_grade赋值为’C’?IF v_price>1000 Then

V_grade:='A';

Else If v_price>900 then

V_grade:='B';

Else If v_price>800 then

V_grade:='C';

Else If v_price>600 then

V_grade:='D';

Else

V_grade:='E';

End if;

End if;

End if;

End if;

1

A. v_price大于1000 B. v_price大于800

C. v_price在801和900之间 D. v_price在601和800之间

3、什么情况下将引起while循环中断? A. 当条件的值是NULL时 B. 当条件的值是FALSE时 C. 当条件的值是TRUE时 D. 当执行到EXIT语句时

4、一个IF…THEN…ELSEIF语句可以有多少个else子句? A. 0 B. 1 C. 没有限制 D. 64

5、考虑下列PL/SQL块时,有多少行被加入到numbers中?BEGIN

FOR IX IN 5..10 LOOP

IF IX=6 THEN

INSERT INTO NUMBERS VALUES(IX); ELSE

IF IX=7 THEN

DELETE FROM NUMBERS; END IF; IF IX=7 THEN ROLLBACK; ELSE COMMIT; END IF; END IF; END LOOP;

2

COMMIT; END; A. 6 B. 1 C. 5 D. 0

6、假如C1是PL/SQL块中的定义游标,在游标打开之后,取第一条记录之前,C1%NOTFOUND的值是什么? A. TRUE B. FALSE C. NULL D. 都不是

7、当下列PL/SQL块执行时,V1的值是什么? DECLARE

V0 PLS_INTEGER; V1 BOOLEAN;

BEGIN

BEGIN

SELECT COUNT(*) INTO V0 FROM EMP;

END; BEGIN

V1:=SQL%FOUND;

END;

END; A. NULL B. TRUE C. FALSE D. 代码清单

8、下列代码中哪一行有错误? 1) DECLARE

2) CURSOR C_EMP IS SELECT EMPNO,SAL FROM EMP;

3

联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4