首页 > 代码库 > Oracle 实验四
Oracle 实验四
SQL*Plus: Release 11.2.0.1.0 Production on 星期五 11月 18 19:32:00 2016 Copyright (c) 1982, 2010, Oracle. All rights reserved. 请输入用户名: system 输入口令: 连接到: Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production With the Partitioning, OLAP, Data Mining and Real Application Testing options SQL> connect / as sysdba 已连接。 SQL> / 输入 str 的值: 20110002 原值 5: v_no := &str; 新值 5: v_no := 20110002; PL/SQL 过程已成功完成。 SQL> set serveroutput on SQL> / 输入 str 的值: 20110002 原值 5: v_no := &str; 新值 5: v_no := 20110002; 马力 PL/SQL 过程已成功完成。 SQL> insert into t_student(Sno,Sname,sbirthday) values(20110002,‘马力‘,TO_DATE(‘1991-02-21‘,‘YYYY-MM-DD‘)); 已创建 1 行。 SQL> / 已创建 1 行。 SQL> edit 已写入 file afiedt.buf 1 declare 2 v_score t_score.score%type; 3 begin 4 select score into v_score from t_score where sno=20100002 and Sub_no=001; 5 case 6 when v_score<81 then v_score:=v_score+8; 7 when v_score<91 then v_score:=v_score+5; 8 when v_score<97 then v_score:=v_score+3; 9 end case; 10 update t_score set score=v_score where sno=20100002 and Sub_no=001; 11* end; 12 / PL/SQL 过程已成功完成。 SQL> select * from t_score where sno = 20100002 and Sub_no=001; SNO SUB_NO SCORE ---------- ---------- ---------- 20100002 1 92 SQL> edit 已写入 file afiedt.buf 1 declare 2 v_counter binary_integer:=1; 3 begin 4 while v_counter<=100 loop 5 if mod(v_counter,3) = 0 and mod(v_counter,2)=0 6 then dbms_output.put_line(v_counter||‘ ‘); 7 end if; 8 v_counter :=v_counter+1; 9 end loop; 10* end; SQL> / 6 12 18 24 30 36 42 48 54 60 66 72 78 84 90 96 PL/SQL 过程已成功完成。 SQL> create or replace procedure add_student(p_sno t_student.sno%type, p_sname t_student.sname%type, p_ssex t_student.ssex%type, p_sbirthday t_student.sbirthday%type) 2 as 3 4 begin 5 insert into t_student values(p_sno,p_sname,p_ssex,p_sbirthday); 6 end; 7 / 过程已创建。 SQL> execute add_student(20140001,‘林蔚然‘,1,‘15-2月-1996‘); PL/SQL 过程已成功完成。 SQL> select * from t_student; SNO SNAME SSEX SBIRTHDAY ---------- ---------- ---------- -------------- 20110002 马力 21-2月 -91 20100002 张杰 1 03-1月 -92 20100003 李娟 0 14-6月 -92 20110001 王强 1 20100001 刘浩 1 12-10月-91 20140001 林蔚然 1 15-2月 -96 已选择6行。 SQL> edit 已写入 file afiedt.buf 1 create or replace procedure ave(p_sno t_score.sno%type) 2 as 3 avg_score t_score.score%type; 4 begin 5 select avg(score) into avg_score from t_score where sno=p_sno; 6 dbms_output.put_line(avg_score); 7* end; SQL> / 过程已创建。 SQL> execute ave(20100003); 86.5 PL/SQL 过程已成功完成。 SQL> edit 已写入 file afiedt.buf 1 declare 2 name t_student.sname%type; 3 no t_student.sno%type; 4 begin 5 no := &str; 6 select sname into name from t_student where sno=no; 7 dbms_output.put_line(name); 8 exception 9 when no_data_found then 10 dbms_output.put_line(‘data not found!‘); 11* end; SQL> / 输入 str 的值: 20140001 原值 5: no := &str; 新值 5: no := 20140001; 林蔚然 PL/SQL 过程已成功完成。 SQL> / 输入 str 的值: 20140002 原值 5: no := &str; 新值 5: no := 20140002; data not found! PL/SQL 过程已成功完成。 SQL>
Oracle 实验四
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。