实验4
PL/SQL编程基础
【实验目的与要求】
? ?
掌握PL/SQL基本语法
掌握PL/SQL简单存过程的编写
【实验内容与步骤】 4.0.实验准备工作
1. 测试用表的创建与数据添加
(1).创建测试表
Create Table TESTTABLE(
RECORDNUMBER number(4) Not Null, CURRENTDATE Date Not Null )
Tablespace \USER\ ;--这里的表空间其实可以不去管,这样它就会在当前用户的表空间中创建一个表
(2).使用for语句在测试表中加入测试数据 Declare
maxrecords Constant Int:=20; i Int:=1; Begin
For i In 1..maxrecords Loop
Insert Into hqf.testtable(recordnumber,currentdate) --hqf为模式名,应改动
Values(i,Sysdate);
dbms_output.put_line('现在输入的内容是:'||i||' '||Sysdate); Commit; --这里切记要commit否则将不会将数据提交到表中 End Loop;
dbms_output.put_line('记录已经按照计划全部插入,请查看!'); End;
// 注:hqf为登录用户名,需根据情况改动,如:实验中一般用scott.
第 1 页 共 31 页
(3).查询表中数据,给出查询结果截图:
4.1.最简单的PL/SQL程序
1. 输出\
/*************************************** 第一个例子:输出\
***************************************/
set serverout on --设置SQL*Plus将服务器所返回的写出来
begin --块开始
DBMS_OUTPUT.put_line('Hello,World');
--在控制台输出信息,类似C语言的Printf或者java语言中的System.out.print end; --块结束
运行结果为:
1. 接收数据并输出
/***************************************
在此基础上,完成Hello,某某,某某从客户端得到
第 2 页 共 31 页
***************************************/ declare
v_name varchar2(20); begin --块开始
v_name:='& v_name '; --与“客户端”交互,类似C语言的scanf语句 DBMS_OUTPUT.put_line('测试结果为:Hello,'||v_name); end; --块结束
运行结果为:
4.2.简单变量的使用
1.变量的声明与引用
set serveroutput on;
-- PL/SQL变量之 简单类型 declare
v_dept_id number(5) := 1111; v_age binary_integer := 12; v_dept_name varchar2(20) := '人事部'; v_rate constant number(4,2) := 22.12; v_valid boolean not null := TRUE; v_hire_date date not null := sysdate + 7; begin
v_dept_id := 2222;
dbms_output.put_line(v_dept_id); end; /
运行结果为:
第 3 页 共 31 页
2.Into子句赋值的使用:
declare
v_deptno number(2); v_loc varchar2(15); begin
select deptno,loc into v_deptno,v_loc from dept
where dname='SALES';
DBMS_OUTPUT.PUT_LINE (V_deptno ||' and '||v_loc); end;
运行结果为:
实验练习:
编写一PL/SQL程序,实现依次从客户端接收各字段的值,并放于变量中,输完一条记
第 4 页 共 31 页
录的所有字段值后,将值写到数据库表Emp中。
请给出程序源码:
给出测试结果:
3.变量作用域:
阅读以下程序,熟悉变量的斌值方法,理解变量的作用,给出运行结果。 --嵌套块中的变量赋值和作用域
第 5 页 共 31 页