实验4 管理索引和序列
实验内容
1. 使用SQL语句创建索引 语句如下:
CREATE TABLE Users
(UserID Number Primary key,
UserName Varchar2(40) NOT NULL, UserType Number(1), UserPwd Varchar2(40) );
CREATE INDEX index_username ON Users(UserName) TABLESPACE Users;
2. 在创建表的同时创建索引 语句如下:
CREATE TABLE Employees
(EmpId NUMBER PRIMARY KEY, EmpName VARCHAR2(50) UNIQUE, Sex CHAR(2), UserID NUMBER );
3. 使用SQL语句创建序列 语句如下:
CREATE SEQUENCE E MINVALUE 1 NOMAXVALUE START WITH 1 INCREMENT BY 1 NOCYCLE CACHE 20;
4. 在插入数据时使用序列 语句如下:
INSERT INTO Employees (EmpId, EmpName) VALUES (EMP_S.NEXTVAL, 'Employee1');
INSERT INTO Employees (EmpId, EmpName) VALUES (EMP_S.NEXTVAL, 'Employee2');
INSERT INTO Employees (EmpId, EmpName) VALUES (EMP_S.NEXTVAL, 'Employee3'); COMMIT;
SELECT * FROM Employees;
实验 5 PL/SQL 编程
实验内容:
1.使用条件语句
执行例9.4中程序,观察运行结果。 例9.4
下面演示了IF语句的使用方法,代码如下: SET ServerOutput ON; DECLARE
Num INTEGER := -11; BEGIN
IF Num < 0 THEN
dbms_output.put_line('负数'); ELSIF Num > 0 THEN
dbms_output.put_line('正数'); ELSE
dbms_output.put_line('0'); END IF; END; /
程序中声明了一个整形变量Num,使用IF语句判断Num是正数、负数或者0,程序运行结果为‘负数’。
2.使用分支语句
执行例9.5中程序,观察运行结果。 例9.5
使用CASE语句根据给定的整数输出对应的星期值,代码如下: SET ServerOutput ON; DECLARE
varDAY INTEGER := 3; Result VARCHAR2(20); BEGIN
Result := CASE varDAY
WHEN 1 THEN '星期一' WHEN 2 THEN '星期二' WHEN 3 THEN '星期三' WHEN 4 THEN '星期四' WHEN 5 THEN '星期五' WHEN 6 THEN '星期六' WHEN 7 THEN '星期七' ELSE '数据越界' END;
dbms_output.put_line(Result); END; /
程序中声明了一个整形变量varDAY和一个字符型变量Result。使用CASE语句判断varDAY变量是星期几。如果变量varDAY在1~7之间,则能显示相应的星期信息:否则返回提示信息‘数据越界’。程序运行结果为‘星期三’。
3.使用循环语句
执行例9.6和例9.9中程序,观察运行结果。 例9.6
下面是关于LOOP…EXIT…END语句的示例程序,代码如下: SET ServerOutput ON; DECLARE
v_Num INTEGER := 1; v_Sum INTEGER := 0; BEGIN LOOP
v_Sum := v_Sum + v_Num;
dbms_output.put_line(v_Num); IF v_Num = 3 THEN EXIT; END IF;
dbms_output.put_line(' + '); v_Num := v_Num + 1; END LOOP;
dbms_output.put_line(' = '); dbms_output.put_line(v_Sum); END; /
程序将计算1~3的累加结果,程序运行如下: 1+2+3=6