(1)如果LV_AMT_NUM的值是1200,那么最后LV_SHIP_NUM的值是多少?
If lv_amt_num>500 then
Lv_ship_num:=5;
Elsif lv_amt_num>1000 then
Lv_ship_num:=8;
Elsif lv_amt_num>1700 then
Lv_ship_num:=10;
Else
Lv_ship_num:=13;
End if;
结果:____________5_______________
(2)假设EMP表中没有EMPNO等于7966的数据,则程序输出结果?
Declare
v_id emp.empno%type;
v_name emp.ename%type;
Cursor c_emp is select empno,ename into v_id, v_name from emp where empno=7966;
Begin
open c_emp;
loop
fetch c_emp into v_id,v_name;
exit when c_emp%notfound;
end loop;
close c_emp;
dbms_output.PUT_LINE('输出数据');
exception
when no_data_found then
dbms_output.PUT_LINE('没有数据');
End;
结果:___________________________
(3)判断在下列位置中游标%FOUND属性的值。(假设temp_table表中只有一条数据)
Declare
Cursor c_tempdata is
Select * from temp_table;
V_temprecord c_tempdata%rowtype;
Begin
①
open c_tempdata;
②
fetch c_tempdata into V_temprecord;
③
fetch c_tempdata into V_temprecord;
④
close c_tempdata;
⑤
End;
结果:___________________________
(4)判断下列程序运行的结果。
Create or replace procedure raiseerror( p_raise in boolean:=true, p_parametera out number) as
Begin
p_parametera:=4;
If p_raise then
raise dup_val_on_index;
Else
Return;
End if;
End raiseerror;
如果我们从下面的块中调用raiseerror
Declare
v_tempvar number:=1;
Begin
raiseerror(false,v_tempvar);
dbms_output.put_line(v_tempvar);
v_tempvar:=2;
raiseerror(true,v_tempvar);
Exception
when others then
dbms_output.put_line(v_tempvar);
End;
结果:___________________________
(5)阅读下段程序,最后v_result的值是多少?
Declare
v_number1 number;
v_number2 number;
v_result varchar2(7);
Begin
if v_number1<v_number2 then
v_result:='yes';
else
v_result:='no';
end if;
dbms_output.put_line(v_result);
End;
条件谓词允许触发器___________
A、指定对不同事件执行不同的操作
B、在UPDATE中引用原始值和新值
C、向触发器添加WHEN子句
D、添加在触发触发器之前必须满足的条件
触发器与过程不同,它___________
A、不需要明确执行 B、需要明确执行
C、包含PL/SQL块 D、可以引用封装变量
胡子哥哥
白猪掌柜的