Oracle数据库建表并用SQL编程分等级

--创建学生表
create table XS_543
( XH char(6) not null ,
XM varchar2(20) not null,
ZYM varchar2(10),
XB char(4) default ‘男‘,
CSSJ date,
ZXF number(2),
BZ varchar2(100),
constraint pk_xh primary key(xh)
);

--创建课程表

create table KC_543
(
KCH char(3) not null ,
KCM varchar2(20) not null ,
KKXQ number(1) default 1 ,
XS number(2),
XF number(1),
constraint pk_kch primary key (kch),
constraint ck_kkxq check(KKXQ between 1 and 8)
);

--创建成绩表

create table XS_KC_543
(
XH char(6) not null ,
KCH char(3) not null ,
CJ number(3),
constraint pk_xh_kch primary key (XH,KCH),
constraint fk_xh foreign key (xh) references xs_543(xh),
constraint fk_kch foreign key (kch) references kc_543(kch)
);

--插入数据

insert into XS_543 values(‘061101‘,‘王林‘, ‘计算机‘,‘男‘,to_date(‘1986-2-01‘,‘yyyy-mm-dd‘),50,null);
insert into XS_543 values(‘061102‘,‘程明‘, ‘计算机‘,‘男‘,to_date(‘1987-2-10‘,‘yyyy-mm-dd‘),50,null);
insert into XS_543 values(‘061103‘,‘王燕‘, ‘计算机‘,‘女‘,to_date(‘1985-1-06‘,‘yyyy-mm-dd‘),50,null);
insert into XS_543 values(‘061104‘,‘韦10严平‘,‘计算机‘,‘男‘,to_date(‘1986-8-26‘,‘yyyy-mm-dd‘),50,null);
insert into XS_543 values(‘061106‘,‘李方方‘,‘计算机‘,‘男‘,to_date(‘1986-11-20‘,‘yyyy-mm-dd‘),50,null);
insert into XS_543 values(‘061107‘,‘李明‘, ‘计算机‘,‘男‘,to_date(‘1986-5-01‘,‘yyyy-mm-dd‘),54,‘提前修完数据结构‘);
insert into XS_543 values(‘061108‘,‘林一帆‘,‘计算机‘,‘男‘,to_date(‘1985-8-05‘,‘yyyy-mm-dd‘),50,‘已提前修完一门课‘);
insert into XS_543 values(‘061109‘,‘张强民‘,‘计算机‘,‘男‘,to_date(‘1984-8-11‘,‘yyyy-mm-dd‘),50,null);
insert into XS_543 values(‘061110‘,‘张蔚‘, ‘计算机‘,‘女‘,to_date(‘1987-7-22‘,‘yyyy-mm-dd‘),50,‘三好学生‘);
insert into XS_543 values(‘061111‘,‘赵琳‘, ‘计算机‘,‘女‘,to_date(‘1986-3-18‘,‘yyyy-mm-dd‘),50,null);
insert into XS_543 values(‘061113‘,‘严红‘, ‘计算机‘,‘女‘,to_date(‘1985-8-11‘,‘yyyy-mm-dd‘),48,‘一门课不及格‘);
insert into XS_543 values(‘061201‘,‘王敏‘, ‘通信工程‘, ‘男‘,to_date(‘1984-6-10‘,‘yyyy-mm-dd‘),42,null);
insert into XS_543 values(‘061202‘,‘王林‘, ‘通信工程‘, ‘男‘,to_date(‘1985-1-29‘,‘yyyy-mm-dd‘),42,null);
insert into XS_543 values(‘061203‘,‘王玉民‘,‘通信工程‘,‘男‘,to_date(‘1986-3-26‘,‘yyyy-mm-dd‘),42,null);
insert into XS_543 values(‘061204‘,‘马琳琳‘,‘通信工程‘,‘女‘,to_date(‘1984-2-10‘,‘yyyy-mm-dd‘),42,null);
insert into XS_543 values(‘061206‘,‘李计‘, ‘通信工程‘,‘女‘,to_date(‘1985-9-20‘,‘yyyy-mm-dd‘),42,null);
insert into XS_543 values(‘061210‘,‘李红庆‘,‘通信工程‘,‘女‘,to_date(‘1985-5-10‘,‘yyyy-mm-dd‘),44,‘提前修完一门课‘);
insert into XS_543 values(‘061216‘,‘孙祥欣‘, ‘通信工程‘,‘女‘,to_date(‘1984-3-09‘,‘yyyy-mm-dd‘),42,null);
insert into XS_543 values(‘061218‘,‘孙研‘, ‘通信工程‘,‘男‘,to_date(‘1986-10-9‘,‘yyyy-mm-dd‘),42,null);
insert into KC_543 values(‘101‘,‘计算机基础‘,1,80,5);
insert into KC_543 values(‘102‘,‘程序设计语言‘,2,68,4);
insert into KC_543 values(‘206‘,‘离散数学‘,2,68,4);
insert into KC_543 values(‘208‘,‘数据结构‘,5,68,4);
insert into KC_543 values(‘209‘,‘操作系统‘,6,68,4);
insert into KC_543 values(‘210‘,‘计算机原理‘,7,85,5);
insert into KC_543 values(‘212‘,‘数据库原理‘,7,68,4);
insert into KC_543 values(‘301‘,‘计算机网络‘,7,51,3);
insert into KC_543 values(‘302‘,‘软件工程‘,7,51,3);
insert into XS_KC_543 values(‘061101‘,‘101‘,80);
insert into XS_KC_543 values(‘061101‘,‘102‘,78);
insert into XS_KC_543 values(‘061101‘,‘206‘,76);
insert into XS_KC_543 values(‘061103‘,‘101‘,62);
insert into XS_KC_543 values(‘061103‘,‘206‘,81);
insert into XS_KC_543 values(‘061103‘,‘102‘,70);
insert into XS_KC_543 values(‘061104‘,‘101‘,90);
insert into XS_KC_543 values(‘061104‘,‘102‘,84);
insert into XS_KC_543 values(‘061104‘,‘206‘,65);
insert into XS_KC_543 values(‘061102‘,‘102‘,78);
insert into XS_KC_543 values(‘061102‘,‘206‘,78);
insert into XS_KC_543 values(‘061107‘,‘101‘,78);
insert into XS_KC_543 values(‘061107‘,‘102‘,80);
insert into XS_KC_543 values(‘061107‘,‘206‘,68);
insert into XS_KC_543 values(‘061108‘,‘101‘,85);
insert into XS_KC_543 values(‘061108‘,‘102‘,64);
insert into XS_KC_543 values(‘061108‘,‘206‘,87);
insert into XS_KC_543 values(‘061109‘,‘101‘,66);
insert into XS_KC_543 values(‘061109‘,‘102‘,83);
insert into XS_KC_543 values(‘061109‘,‘206‘,70);
insert into XS_KC_543 values(‘061111‘,‘206‘,76);
insert into XS_KC_543 values(‘061113‘,‘101‘,63);
insert into XS_KC_543 values(‘061113‘,‘102‘,79);
insert into XS_KC_543 values(‘061113‘,‘206‘,60);
insert into XS_KC_543 values(‘061201‘,‘101‘,80);
insert into XS_KC_543 values(‘061202‘,‘101‘,65);
insert into XS_KC_543 values(‘061203‘,‘101‘,87);
insert into XS_KC_543 values(‘061204‘,‘101‘,91);
insert into XS_KC_543 values(‘061210‘,‘101‘,76);
commit;

declare
v_xh xs_kc_543.xh%type;
v_kch xs_kc_543.kch%type;
v_cj xs_kc_543.cj%type;
rank char(2);
begin
v_xh:=&v_xh;
v_kch:=&v_kch;
select cj into v_cj from xs_kc_543 where xh=v_xh and kch=v_kch;
case v_cj/10

--上次这个地方出错了

when 9 then rank:=‘a‘;
when 8 then rank:=‘b‘;
when 7 then rank:=‘c‘;
when 6 then rank:=‘d‘;
when 5 then rank:=‘e‘;
end case;
dbms_output.put_line(rank);
end;

时间: 2024-10-13 23:57:23

Oracle数据库建表并用SQL编程分等级的相关文章

字段自动递增的数据库建表的SQL写法

数据库建表的SQL写法如下: 数据库建表的SQL写法如下: create table dataC(  a int identity(1,2) primary key,  b varchar(20)) identity(1,2)中的1表示第一条记录的a的值,第二个参数表示递增的步长(本例中,表示步长为2) 在“查询分析器”中要插入数据,直接使用下面的插入方式,无须显示插入字段a的值 insert into dataC values('111')insert into dataC values('2

Oracle数据库建表+添加数据练习

SQL脚本: 1 --建表 2 --student表+注释 3 create table student( 4 sno varchar2(3) not null, 5 sname varchar2(9) not null, 6 ssex varchar2(3) not null, 7 sbirthday date, 8 sclass varchar2(5), 9 constraint pk_student primary key(sno) 10 ); 11 comment on column s

ORACLE数据库建表空间、建用户、分配用户表空间,分配用户权限

1.建表空间 create tablespace 表空间名 datafile  'D:\app\Administrator\oradata\orcl\ABC.DBF' size 100M autoextend on next 50M extent management 2.建用户 create  user 用户名  identified by password default tablespace 表空间名 temporary tablespace temp   (默认表空间名) 3.给用户赋予

oracle数据库建表

create or replace directory dumpdir as 'E:\oracle\dumpdir';create temporary tablespace ydxt_temp tempfile 'E:\oracle\product\10.2.0\oradata\ydxt\ydxt_temp.dbf' size 50m autoextend on next 50m maxsize 20480m extent management local; create tablespace

oracle 数据库 建表 作业

-- Create table create table STUDENT ( sno VARCHAR2(3) not null, sname VARCHAR2(8) not null, ssex VARCHAR2(2) not null, sbirthday DATE, class VARCHAR2(5) ) tablespace USERS pctfree 10 initrans 1 maxtrans 255 storage ( initial 64K next 1M minextents 1

(没写完)SQL数据库建表(基础大牛请飘过就好谢谢)

--SQL表与表之间的关系-- 首先要学会找表与表之间的关系 只有把表和表之间的关系找好才 可以键表,并方便查询. 一.表与表之间有三种关系 (1)两表之间的主键存在一对一的关系 随便在一表中加上另一表的主键为该表的外键. (2)两表之间的主键存在一对多的关系 在"一"表中创建"多"表的主键为"一"表的外键. (3)两表之间的主键存在多对多的关系 重新创建一个新表并加如两个表的主键为该表的外键. 再加上两表之间的关系属性. --        

Oracle数据库之开发PL/SQL子程序和包

Oracle数据库之开发PL/SQL子程序和包 PL/SQL块分为匿名块与命名块,命名块又包含子程序.包和触发器. 过程和函数统称为PL/SQL子程序,我们可以将商业逻辑.企业规则写成过程或函数保存到数据库中,以便共享. 过程和函数均存储在数据库中,并通过参数与其调用者交换信息.过程和函数的唯一区别是函数总向调用者返回数据,而过程不返回数据. 1. 存储过程概念 存储过程(Stored Procedure)是在大型数据库系统中,一组为了完成特定功能的SQL语句集,存储在数据库中.经过第一次编译后

数据库建表原则

关键字: 数据库建表原则 ·1. 原始单据与实体之间的关系 可以是一对一.一对多.多对多的关系.在一般情况下,它们是一对一的关系:即一张原始单据对应且只对应一个实体.在特殊情况下,它们可能是一对多或多对一的关系,即一张原始单证对应多个实体,或多张原始单证对应一个实体.这里的实体可以理解为基本表.明确这种对应关系后,对我们设计录入界面大有好处. [例]:一份员工履历资料,在人力资源信息系统中,就对应三个基本表:员工基本情况表.社会关系表.工作简历表.这就是“一张原始单证对应多个实体”的典型例子.

oracle数据库性能影响之Sql parse

1,Sql parse的种类 Sql parse又通常分为硬解析和软解析,当sql第一次执行的时候,会发生硬解析,之后的执行如果在shared pool中能找到就是软解析.因此,为提高数据性能,尽可能的让每次执行的SQL在shared pool找到. 2,SQL在哪些情况下会发送硬解析? 1)统计信息改变  2)Sql中的表上有做ddl操作,包括grant和revoke. 3)执行计划被踢出shared pool 4)开启了trace 5)绑定变量长度变化 6)启用outlin