你好,请问以下关于Oracle程序的一些问题,麻烦大佬帮忙看看!

(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、可以引用封装变量

忽然笑
浏览 247回答 2
2回答

胡子哥哥

(1) 5(2)输出数据没有数据(3)NULL ,NULL ,NOT NULL, NOT NULL,NULL;(4) 42(5) yes;补充:C;A;

白猪掌柜的

(1)5(2)输出数据(3)NULL,NULL,1,0,NULL(4) 42(5)no补充:AA我的执行执行过程:SQL> Declare2 v_id a.id%type;3 v_name a.name%type;4 Cursor c_emp is select id,name into v_id, v_name from a where id=0;5 Begin6 open c_emp;7 loop8 fetch c_emp into v_id,v_name;9 exit when c_emp%notfound;10 end loop;11 close c_emp;12 dbms_output.PUT_LINE('输出数据');13 exception14 when no_data_found then15 dbms_output.PUT_LINE('没有数据');16 End;17 /输出数据PL/SQL 过程已成功完成。SQL> Create or replace procedure raiseerror( p_raise in boolean:=true, p_parametera out number) as2 Begin3 p_parametera:=4;4 If p_raise then5 raise dup_val_on_index;6 Else7 Return;8 End if;9 End raiseerror;10 /过程已创建。SQL> Declare2 v_tempvar number:=1;3 Begin4 raiseerror(false,v_tempvar);5 dbms_output.put_line(v_tempvar);6 v_tempvar:=2;7 raiseerror(true,v_tempvar);8 Exception9 when others then10 dbms_output.put_line(v_tempvar);11 End;12 /42PL/SQL 过程已成功完成。SQL> Declare2 v_number1 number;3 v_number2 number;4 v_result varchar2(7);5 Begin6 if v_number1<v_number2 then7 v_result:='yes';8 else9 v_result:='no';10 end if;11 dbms_output.put_line(v_result);12 End;13 /noPL/SQL 过程已成功完成。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Oracle
MySQL