Oracle数据库销售系统.docx

上传人:b****4 文档编号:11406731 上传时间:2023-05-31 格式:DOCX 页数:14 大小:146.48KB
下载 相关 举报
Oracle数据库销售系统.docx_第1页
第1页 / 共14页
Oracle数据库销售系统.docx_第2页
第2页 / 共14页
Oracle数据库销售系统.docx_第3页
第3页 / 共14页
Oracle数据库销售系统.docx_第4页
第4页 / 共14页
Oracle数据库销售系统.docx_第5页
第5页 / 共14页
Oracle数据库销售系统.docx_第6页
第6页 / 共14页
Oracle数据库销售系统.docx_第7页
第7页 / 共14页
Oracle数据库销售系统.docx_第8页
第8页 / 共14页
Oracle数据库销售系统.docx_第9页
第9页 / 共14页
Oracle数据库销售系统.docx_第10页
第10页 / 共14页
Oracle数据库销售系统.docx_第11页
第11页 / 共14页
Oracle数据库销售系统.docx_第12页
第12页 / 共14页
Oracle数据库销售系统.docx_第13页
第13页 / 共14页
Oracle数据库销售系统.docx_第14页
第14页 / 共14页
亲,该文档总共14页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

Oracle数据库销售系统.docx

《Oracle数据库销售系统.docx》由会员分享,可在线阅读,更多相关《Oracle数据库销售系统.docx(14页珍藏版)》请在冰点文库上搜索。

Oracle数据库销售系统.docx

Oracle数据库销售系统

销售系统

Oracle数据库

 

一、创建表(要求各个表有约束,能进行表和表连接)

1、鲜花信息表flower

鲜花编号fnonumber(6)primarykey

鲜花名称fnamevarchar2(30)notnull

鲜花颜色fcolorvarchar2(10)

鲜花单价pricefloat

鲜花花语fsayvarchar2(30)

createtableflower(

fnonumber(6)primarykey,

fnamevarchar2(30)notnull,

fcolorvarchar2(10),

pricefloat,

fsayvarchar2(30)

);

2、顾客信息表customer

顾客编号cunonumber(5)primarykey

顾客名cunamevarchar2(30)notnull

顾客类型custatusvarchar2(10)

顾客住址addressvarchar2(30)

createtablecustomer(

cunonumber(5)primarykey,

cunamevarchar2(30)notnull,

custatusvarchar2(10),

addressvarchar2(30)

);

3、销售信息表sale

鲜花编号fnonumber(6)

顾客编号cunonumber(5)

销售日期saledatedate

是否有折扣discountvarchar2(10)

销售价格salepricefloat

createtablesale(

fnonumber(6),

cunonumber(5),

saledatedate,

discountvarchar2(10),

salepricefloat

);

增加约束(外键约束、检查约束)

altertablesaleaddconstraintfk_flower_sale_fnoforeignkey(fno)referencesflower(fno);

altertablesaleaddconstraintfk_customer_sale_cunoforeignkey(cuno)referencescustomer(cuno);

altertablesaleaddconstraintck_sale_discountcheck(discount='yes'ordiscount='no');

二、插入数据(仅插入部分数据,其他数据见用替代变量插入数据)

1.向flower表插入数据

insertintoflowervalues('000001','玫瑰','red','5','我爱你');

insertintoflowervalues('000002','百合','white','5','健康快乐');

insertintoflowervalues('000003','康乃馨','pink','4','无私的爱');

insertintoflowervalues('000004','满天星','blue','3','甘愿做你的配角');

insertintoflowervalues('000005','雏菊','yellow','6','隐藏在心中的爱');

insertintoflowervalues('000006','忘忧草','green','4','忘记烦恼,快乐相随');

2.向customer表插入数据

insertintocustomervalues('10001','大头儿子','advanced','北京');

insertintocustomervalues('10002','喜洋洋','vip','天津');

insertintocustomervalues('10003','大耳朵图图','general','上海');

insertintocustomervalues('10004','蜡笔小新','advanced','韩国');

insertintocustomervalues('10005','樱桃小丸子','advanced','旧金山');

insertintocustomervalues('10006','李媛媛','general','中北大学');

3.向sale表插入数据

insertintosalevalues('000002','10001','02-10月-14','no','159');

insertintosalevalues('000001','10002','09-9月-14','yes','239');

insertintosalevalues('000003','10003','11-11月-14','no','189');

insertintosalevalues('000002','10004','12-10月-14','yes','229');

insertintosalevalues('000001','10005','20-8月-14','yes','199');

insertintosalevalues('000003','10006','11-11月-14','no','209');

insertintosalevalues('000004','10002','20-11月-14','yes','339');

三、建立索引

1、sale表索引

createindexsaleonsale(cno,cuno,saledate,saleprice);

因为sale表时常要被使用select查询,所以为此建立索引

2、flower表索引

当花的种类繁多时,flower表被经常查询,为了方便起见则需建立索引

createindexfloweronflower(fno,fname,fcolor,price,fsay);

3、customer表索引

当拥有大量顾客时,查询customer表会十分繁琐,建立索引会使查询简单快捷

createindexcustomeroncustomer(cuno,cuname,custatus,address);

 

查看索引

selectindex_type,index_name,table_name,uniquenessfromuser_indexes;

 

四、建立视图(会根据各种需求建立视图,包括简单查询语句、表连接语句、子查询语句等建立视图)

1、为使能查询已销售的鲜花信息固建此视图

createviewsaledflowerinfoasselectf.fno,f.fname,f.fcolor,s.salepricefromflowerf,saleswhereo=s.fno;

2、为方便查看有折扣的客户的身份级别固建此视图

createviewcustomerdisinfoasselectcu.cuno,cu.cuname,cu.custatus,s.discountfromcustomercu,saleswherecu.cuno=s.cunoandcu.cunoin(selectcunofromsalewherediscount='yes');

3、为了汇总订单,建立各个订单汇总视图

createviewddasselectf.fno,f.fname,f.fcolor,s.salepricefromflowerf,saleswheref.fno=s.fno;

五、利用替代变量进行数据的插入

1.flower表

acceptv_col1prompt'请输入鲜花编号:

'

acceptv_col2prompt'请输入鲜花名称:

'

acceptv_col3prompt'请输入鲜花颜色:

'

acceptv_col4prompt'请输入鲜花标价:

'

acceptv_col5prompt'请输入鲜花花语:

'

insertintoflowervalues('&v_col1','&v_col2','&v_col3','&v_col4','&v_col5');(存入D:

\a.sql)

执行语句:

startd:

a.sql

2.customer表

acceptv_col1prompt'请输入顾客编号:

'

acceptv_col2prompt'请输入顾客姓名:

'

acceptv_col3prompt'请输入顾客类型:

'

acceptv_col4prompt'请输入顾客地址:

'

insertintocustomervalues('&v_col1','&v_col2','&v_col3','&v_col4');;(存入D:

\b.sql)

执行语句:

startd:

b.sql

3、sale表

acceptv_col1prompt'请输入鲜花编号:

'

acceptv_col2prompt'请输入顾客编号:

'

acceptv_col3prompt'请输入销售日期:

'

acceptv_col4prompt'是否有折扣:

'

acceptv_col4prompt'请输入销售价格:

'

insertintosalevalues('&v_col1','&v_col2','&v_col3','&v_col4','&v_col5');;(存入D:

\c.sql)

执行语句:

startd:

c.sql

六、.建立包(会利用游标、函数、包编写过程进行数据的查询)

----------------------------包头

createorreplacepackagepkis

proceduresaleinfo(pfnonumber,pcunonumber);

functionfun_price(pcunonumber)returnnumber;

end;

-----------------------------包体

createorreplacepackagebodypkis

proceduresaleinfo(pfnonumber,pcunonumber)is

v_fnonumber;

v_cunonumber;

v_saledatedate;

v_salepricefloat;

----------------------------游标

cursorc1(pfnonumber,pcunonumber)isselectfno,cuno,saledate,salepricefromsalewherepfno=fnoandpcuno=cuno;

begin

openc1(pfno,pcuno);

loop

fetchc1intov_fno,v_cuno,v_saledate,v_saleprice;

ifc1%foundthen

dbms_output.put_line('鲜花编号:

'||v_fno||'客户编号:

'||v_cuno||'销售时间:

'||v_saledate||'销售价格:

'||v_saleprice);

else

dbms_output.put_line('查询结束');

exit;

endif;

endloop;

closec1;

end;

----------------------函数

functionfun_price(pcunonumber)returnnumberissumpricenumber(8,3);

begin

selectsum(saleprice)intosumpricefromsalewherepcuno=cuno;

returnsumprice;

end;

end;

执行过程

setserverouton

execpk.saleinfo(000002,10001);

varrnumber;

callpk.fun_price(10001)into:

r;

printr;

七.触发器

createorreplacetriggerflower_trg_rai

afterinsertonflower

foreachrow

declare

begin

dbms_output.put_line('fno:

'||:

new.fno);

dbms_output.put_line('fname:

'||:

new.fname);

dbms_output.put_line('fcolor:

'||:

new.fcolor);

dbms_output.put_line('price'||:

new.price);

dbms_output.put_line('fsay'||:

new.fsay);

dbms_output.put_line('触发器已执行');

end;

 

执行语句

insertintoflower(fno,fname,fcolor,price)values('000012','郁金香','blue','15');

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 自然科学 > 物理

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2