数据库oracle银行管理系统.docx

上传人:夺命阿水 文档编号:407921 上传时间:2023-05-28 格式:DOCX 页数:48 大小:213.66KB
返回 下载 相关 举报
数据库oracle银行管理系统.docx_第1页
第1页 / 共48页
数据库oracle银行管理系统.docx_第2页
第2页 / 共48页
数据库oracle银行管理系统.docx_第3页
第3页 / 共48页
数据库oracle银行管理系统.docx_第4页
第4页 / 共48页
数据库oracle银行管理系统.docx_第5页
第5页 / 共48页
点击查看更多>>
资源描述

《数据库oracle银行管理系统.docx》由会员分享,可在线阅读,更多相关《数据库oracle银行管理系统.docx(48页珍藏版)》请在课桌文档上搜索。

1、摘要1一、设计银行管理系统结构图1.I系统结构图2二、银行管理系统E-R图和表结构2. IE-R图43. 2表结构7三、创建系统数据表3.1创建表空间和用户93. 2创建用户信息表并添加约束93. 3创建银行卡信息表114. 4创建交易信息表12四、模拟常规业务操作4.1建立更新账号触发器144. 2存取款交易操作144. 3用户开户164. 4更改密码184. 5账号挂失194. 6余额查询204. 7转账业务设置215. 8银行盈利结算22五、总结24参考文献25附录26随着计算机的飞速发展及应用领域的扩大,特别是计算机网络和电子商务的发展,极大的改变了商业银行传统的经营模式。能够为客户提

2、供方便、快捷、安全的服务,也能够有效的降低银行的营运成本,这是银行存储系统追求的目标。目前,对于现代化银行运营的要求是客户可以实现方便安全的业务交易,银行职员可以进行高效合理的工作管理,实现银行业务电子化。方便用户快速的进行存款、取款、修改密码以及完成一些转账的交易,大大提高办公效率,能够及时,准确、有效的帮用户办理各种繁琐的手续,也减缓了银行工作人员的压力。一、设计银行管理系统结构图1.1系统结构图银行系统余额查询账户挂失修改密码2.1E-R图二、银行管理系统E-R图和表结构开户信息表开户通过对银行管理系统的需求分析,应该为该系统设计3个表,分别为用户信息表、银行卡信息表和交易信息表。用户信

3、息表用于存储用户的基本信息,包括用户的编号、开户名、身份证号、联系电话和家庭住址等信息表2.1用户信息表字段名称字段描述数据类型度约束customer用户编号Number4主键customer开户名Varhcar220必填PID身份证号Varchar218必填te1.ephone联系电话Varchar213必填Address家庭地址Varchar250无银行卡信息表用于存储银行卡相关的信息主要包括卡号、存储的货币类型,存款方式,开户时间,开户金额,余额、银行卡密码、是否挂失和用户编号等信息,表2.2银行卡信息表字段名称字段描述数据类型长度约束cardID卡号Varchar220主键CurTyp

4、e货币种类Varhcar210必填SavingType存款类型Varchar28非空Opendate开户R期DATETIME必填Openmoney开户金额Number8必填Ba1.ance帐户余额Number8必填Isreport1.osS是否挂失Varchar22必填Customer开户编号Varchar4外键交易信息表用于存储用户的交易记录,主要包括交易日期,卡号、交易类型,交易金额等信息。表2.3交易信息表字段名称字段描述数据类型长度属性Transdate交易日期DatetimePKcardID卡号Varhcar220非空transTYPE交易类型VARCHAR24非空transMone

5、y交易金额NUMBER4非空remark备注VARCHAR250非空三、创建系统数据表3.1创建表空间和用户使用system用户连接数据库后,创建表空间space_zqp,指定数据文件为D:Bank.dbf,代码如下图:SQ1.CREATETAB1.ESPACEspace_zqp2 DATAFI1.ED:Bank.dbfSIZE50M3 AUTOEXTENDONNEXT5MMAXSIZEUN1.IMITED;表空间已创建。SQ1.createuserzqp4 IDENTIFIEDBYzqp5 DEFAU1.TTAB1.ESPACEspace_zqp1 4TEMPORARYTAB1.ESPACE

6、tep5QUOTA2OMONspace_zqp;Jff1.户已创建。SQ1.grantdbatozqp;上权成功。JSQ1.connectzqp/zqp;已连接。图3.1表空间和用户3. 2创建用户信息表并添加约束用户信息表保存了用户的基本信息,该表的创建语句如下,CREATETAB1.Euserinfo(CUstomerIDNUMBER(4)NOTNU1.1.,CUstomerNameVARCHAR2(20)NOTNU1.1.,PIDVARCHAR2(18)NOTNU1.1.,te1.ephoneVARCHAR2(13)NOTNU1.1.,addressVARCHAR2(50)PARTITI

7、ONBYHASH(PID)(PARTITIONpid1.,PARTITIONpid2,PARTITIONpid3,);A1.TERTAB1.EuserinfoADDCONSTRAINTPK_customerIDPRIMARYKEY(customerID)ADDCONSTRAINTUK_PIDUNIQUE(PID)ADDCONSTRAINTCK_PIDCHECK(1.ENGTH(PID)=18OR1.ENGTH(PID)=15)ADDCONSTRAINTCK_teIephoneCHECK(1.IKEte1.ephone0-90-90-90-9-0-90-90-90-90-90-90-90-9fO

8、R1.ENGTH(te1.ephone)=13);创建可以自动生成自增主列的序列customerid_seqCREATESEQUENCEcustomerid_seqSTARTWITH1INCREMENTBY1NOCACHE如上述语句所示,在USerInfO表中包含用户编号(Customerid)开户名(customername)身份证号(P1.D)、联系电话(te1.ephone)家庭住址(address)。其中,CUStOnIerid为主键,自增(从1开始);P1.D只能是18位或15位,并且是唯一的;te1.ephone必须是xxxxxxxxxxxx的格式或13位的手机号码。SQ1.se1

9、.ect*fromcard1.ofo;CARDIDCURTYPESAVINGTYOPENDATEOPENMONEYBA1.ANCEpassisCustomerid10103576888888否123400011RMB活期17-11月-161000100010103576888888否123400046RMB定期17-11月-168000800010103576888888否1234000511RMB定期17-11月-1650005000CARDIDCURTYPESAVINGOPENDATEOPENMONEYBA1.ANCEpassisCustomerid10103576888888否12340

10、0063RMB定期17-11月-164000400010103576888888否123400077RMB定期17-11月-164400440010103576888888否1234001010RMB定期17-11月-1644004400CARDIDCURTYPESAVINGTYOPENDATEOPENHONEYBA1.ANCE图3.2用户信息表3.3创建银行卡信息表银行卡信息表(cardinfo)中包含了卡号(Cardid),货币种类(CUrType),存款类型(savingtype),开户日期(opendate),开户金额(openmoney),余额(ba1.ance),密码(PaSS),

11、是否挂失(isREPORT1.OSS)和用户编号(CUStOmer1.D)的信息。其中,CardID为主键,必须为IO1.O3756xxxxXXXX的格式;CURTYPE默认为RMB,openmoney必须不能低于一元;ba1.ance也必须不能低于一元;pass默认为88888888;ISREPORT1.OSS的值必须是“是/否”中之一,默认为否;CUstomerID为外键,引用userinfo表中的CustomerID列。1 CREATETAB1.Ecard1.ofo2 (3 cardIDVARCHAR2(20)NOTNU1.1.,4 curTypeVARCHAR2(10)NOTNU1.1

12、.,5 SavingTypeVARCHAR2(8)NOTNU1.1.,6 openDateDATENOTNU1.1.,7 operoneyNUKBER(8)NOTNU1.1.,8 ba1.anceNUMBER(8)NOTNU1.1.,9 passVARCHAR2(6)NOTNU1.1.,10 IsReport1.ossVARCHAR2(2)NOTNU1.1.,11 CustomerIDNU1.BER(4)NOTNU1.1.12 )13 PARTITIONBYRANGE(openDate)14 (15 PARTITIONOPenDateq1.VA1.UES1.ESSTHAN(TO_DATEC01

13、012007,ddyyyy,),16PARTITIONopenDate_p2VA1.UES1.ESSTHAN(TO_DATE(,01042007,ddrtyyyy,),17PARTITIONOPenDateq3VA1.UES1.ESSTHAN(TO_DATEC01/07/2007,ddmyyyy,),18PARTITIONOPenDate_p4VA1.UES1.ESSTHAN(TOJ)ATE(,01102007,ddmnyyyy,),19PARTITIONOPenDateq5VA1.UES1.ESSTHANCrc1.DATE(01/01/2008,ddmyyyy,),20PARTITIONOP

14、enDate_p6VA1.UES1.ESSTHAN(TOJ)ATE(,01042008,ddWyyyy),21PARTITIONOPenDateq7VA1.UES1.ESSTHAN(TO.DATEC01/07/2008,ddnyyyy,),22PARTITIONopenDate_p8VA1.UES1.ESSTHAN(TOJDATE(,01102008,ddmyyyy,).23PARTITIONOPenDateq9VA1.UES1.ESSTHAN(TO.DATEC01/01/2009,ddmyyyy,),24PARTITIONOPenDateA1.OVA1.UES1.ESSTHAN(TOJ)AT

15、E(,01042009,ddyyyy,),25PARTITIONOPenDateqI1.VA1.UES1.ESSTHAN(TO.DATEC01072009,ddyyyy),26PARTITIONOPenDate_p1.2VA1.UES1.ESSTHANGnaXVaIUe)27*)SQ1./表已创建。图3.33.4创建交易信息表交易信息表中包含了五个字段,分别为transdate(交易日期),cardID(卡号)、TRANSTYPE(交易类型),transmoney(交易金额)和remark(备注)。其中,transdate默认为系统当前日期;Cardid位外键,引用CardinfO表中的Car

16、did列,可重复;transtype只能是“存入/取出”之一;transmoney必须大于0.SQ1.CREATEORREP1.ACEVIEVcard1.nfo.vw2 AS3 SE1.ECTcardIDas银行卡号,curTypeas货币类型,SavingTYpeas存款类型,oPenDateas开户日期,oPenHcIneyas开户金额,ba1.anceas余额PaSSas密祜,ISRePort1.oSSas是否挂失,CustomerIDas用户编号4 FROMcardinfo;视图已创建。SQ1.se1.ect*5 fromCardInfC1.Vw;果行卡号货币类型存款类型开户日期开户金

17、额余额格码是用户编号IO1.O35761234OOO1.RHB活期17-11月-1610001000888888否11010357612340004RKB定期17-11月-1680008000888888否61010357612340005RIB定期17-11月-1650005000nnnnpnOOOOoOQ11银行卡号货币类型存款类型开户日期开户金额余额群I是用户编号图3.4交易信息表四、模拟常规业务操作4.1建立更新账号触发器结果如下:SQ1.connectzqp/zqp已连接。SQ1.createorrep1.aceTRIGGERtrg_cardInfo_cardID_notUpdate

18、2 BEFOREUPDATEOFcardID3 ONcardinfo4 FOREACHROW5 BEGIN6 RAISE_APP1.ICATION_ERROR(-20001,账户不允许修改!,);7 END;8 /触发器已创建图4.1创建beforeupdate触发器4.2存取款交易操作当用户办理取款或存款业务时,不仅需要向交易信息表中添加一条交易记录,还需要修改当前账户中的余额,如果办理取款业务,如果将当前账户总的余额减去支取余额,如果办理托管业务,多叫当前账户中的金额加上存款金额。在交易信息表中包含一个名为transtype的字段,该字段用于表示交易类型,取值范围必须是存入或者自取,因此可

19、以为transINFO表创建BEFOREINSERTR触发器。根据要办理里的交易类型,判断出当前的交易类型,如果transtype字段值为“支取”,则表示要办理取款业务,检测当前余额是否大于或等于要支取的金额,如果满足条件,则要修改CardinfO表中的ba1.ance字段值,将该字段值减去交易金额(transmoncy),如果transtype字段值为“存入”,则表示要办理存款业务,修改cardinfo表中的ba1.ance字段值,将该值加上交易金额(transmoney)o代码如下:reateorrep1.acetriggertrig_transbeforeinsertorupdateon

20、transinfoforeachrowdec1.aremy_ba1.ancenumber;rate_exceptionexception;beginse1.ectba1.anceintomy_ba1.ancefromcardinfowherecardid=:new.cardid;if:new.transtype=支取thenifmy_ba1.ance:new.transmoney-1thenupdatecardinfosetba1.ance=ba1.ance-:new.transmoneywherecard1.d=:new.card1.d;endif;e1.sif:new.transtype=

21、存入thenupdatecardinfosetba1.ance=ba1.ance+:new.transmoneywherecardid=:new.card1.d;endif;dbms_output.put_1.ine(,交易成功!);exceptionwhenrate_exceptionthenraise_app1ication_error(-20001,交易失败);end;se1.ect*fromcard1.nfo_vw;insertintotransInfo(transdate,cardID,transType,transMoney)va1.ues(sysdate,101035768888

22、6666,存入,1000);commit;4.3用户开户根据身份证号查询是否在该行开过户,为万无一失,还需要查询生成的卡号是否已经被使用,如果这两个条件都符合要求(此人从未在该行开过户,生成的卡号也无人使用),则向USerinfO表中插入开户人的基本信息记录,并根据开户人的身份证号获取开户人的编号,从而向cardinfo表中插入开户人的基本信息记录,同时还需要将生成的卡号显示给开户人。如果收到卡号已经被使用,得提醒用户开户失败;如果当前开户人己经在此行开过户,则提示用户此身份证已有账号。结果如下图:SQ1.CREATEORREP1.ACEprocedureprocOpenUser2 (3 me

23、varcha2,吁护腆名4 p.idvarchar2,一躺廷5 te1.varchar2,-56 addressvarchar2,-7 savingtypevarchar2j-存款类型8 curTypevarchar2,麻翘9 open!oneynuer,一开户金颔10 passvarchar2一开户雒)11 )12 as13 CidVarChar2(20);卡号14 customeridnmer;15 iff1.BER;16 cER;17 begin18 -胭胜琳号19 cid:-randomcardid;20 -酬人戳跖刑户21 se1.ectcount(*)intoifromuserin

24、foerePIDpid;22 -1I7,23 se1.ectcountWintocfromcardinfoerecardID=cid;24 ifi=0then25 ifc=0then26 insertintouserinfova1.ues(customeridseq.nextva1.,unaue,pid,te1.,address);27 -,28 se1.ectcustoIdintocustoJdfromuserinfowherePID=pjd;29 insertintocardinfo(card1.d,curTypeSavingtype,Openmoney,ba1.ance,pass,cus

25、toId)va1.ues(cid,CUrTyp&savigType,30 open1.oney,open1.oney,pass,customer.id);31 DBisj,pro1.(,fBp!,);32 DB1.Sj)IJn也Pu1.1.M(懒得犷I1.Cid);33 e1.sifc)0then34 dbms.output.puHine(开户颊!);图4.24.4更改密码一个银行账号对应一个密码,因此当用户输入的卡号密码相对应时,可以为该银行卡设置新的密码,代码:createorrep1.aceprocedureproc_updateUserPass(temp_cardidvarchar2,

26、一卡号o1.dpassvarchar2,一旧密码newpassvarchar2一新密码asinumber;pass_iVARCHAR2(6);beginse1.ectcount(*)intoifromcardinfowherecardID=temp_cardid;se1.ectpassintopass_ifromcardinfowherecardID=temp_cardid;ifi=0thendbms_output.put-1.ine(,此卡号不存在!);e1.sifi0thenifpass_i=o1.dpassthenUPDATEcardinfosetpass=newpasswherecar

27、did=temp_cardid;dbms_output.put-1.ine(,密码更改成功!);e1.sedbms_oUtPUt.putine(旧密码不正确!);endif;endif;commit;exceptionwhenothersthendbms_output.put_1.ine(密码更改失败!);end4.5账号挂失当用户的银行卡丢失后,可以对该卡进行挂失,银行管理系统需要验证用户的真实性,当用户输入银行卡号和密码相对应,才可以对该卡进行挂失操作,即修改cardinfo表中的Isreport1.OSS列为“是,否则提示“无权挂失”。结果如图:SQ1.createorrep1.acep

28、rocedureproc_1.ostCard(card_idvarchar2,pass2varchar2)2 as3 xchar(2);4 inumber;5 begin6 se1.ectcountWintoifromcardinfo7 wherecard1.d=cardjdandpass=pass2;8 ifi0THEN9 SE1.ECTIsReport1.ossINTOxfromcardinfowherecard1.d=cardjdandpass=pass2;10 ifx=,then11 dbms.output.putjine(,此卡已经卷失!);12 e1.se13 UPDATEcard

29、infosetISRePort1.oSS/是wherecard1.d=cardjd1.14 dbms.output.put.1.ineC嘛己扁戚着翻关证用丽台去办理恢复该卡!)15 endif;16 E1.SE17 dbms_output.putine(堆失颊!请核实卡号是否正御)18 ENDIF;19 end;20 /聋己源图4.321 6余额查询用户可以使用银行管理系统,办理余额查询等业务,系统要求用户输入银行卡账号和密码,当用户输入的账号和密码都合法时,系统就查询该用户的账户余额,否则将提示用户“账号或密码错误!”,代码:CREATEORREP1.ACEprocedureproquery

30、ba1.ance(card_idvarchar2,一帐户cardpassvarchar2)密码asiNUMBERi=O;not_data_foundexception;user_ba1.anceNUMBER(8);beginse1.ectcount(*)intoifromcardinfowhereCard1.D=Card_idandpass=card_pass;ifi=0thenraisenot_data_found;e1.sese1.ectba1.anceintouser_ba1.ancefromcard1.nfowherecardID=card_idandpass=card_pass;db

31、ms_output.put-1.ine(,你帐号的余额为:user_ba1.ance);endif;exceptionwhennot_data_foundthendbms_output.put_1.ine(,帐号或密码错误!);end;22 7转账业务设置自助银行管理系统办理转账业务时,要求用户输入正确的用于转账的卡号和密码,以及获得转账的卡号和转账金额,系统将根据用户输入的卡号和密码,检测该银行卡是否存在,如果存在,则判断该银行卡余额是否大于要转账的余额;如果大于,则向表中插入两条交易记录,一条支取的记录,一条为存入的记录,并提示用户转账成功;如果用户输入的卡号和密码不正确,则提示“你的卡号

32、或密码有误4.8银行盈利结算银行的管理人员可以统计银行的资金流通余额和盈利结算,资金流动金额等于总存入-总支数金额;盈利结算,等于总支出金额乘以8%-总存入金额乘以3%,代码如图:ero I )/ 1.v 1i 1 z l 9 J 皿 ) PKJV Ac FkJV 114.9撤户操作当用户不再需要使用某张银行卡时,可去银行办理撤户操作,撤户操作需要用户输入正确的卡号和密码,系统将根据用户输入的数据对该银行卡进行验证,如果该银行卡存在,都需要将卡上的余额全部取出,并删除该卡在CardinfO表中的记录,以及在transinfo表中所有的交易记录。代码如下图SQ1.createorrep1.ace

33、procedureproc.de1.A1.1.(2 t蝴1.eardIDvarcha2,一卡号3 tenp_passvarchar2码4 )5 as6 te5).ba1.ancenuirber,7 not_data_foundexception,8 nuninteger:=0;9 begin10 se1.ectcountWintonumfromcardinfowherecardId=tep.cardIDandpass=tepj)ass111 se1.ectba1.anceintotep,ba1.ancefromCardinfoerecardId=te.cardIDandpass=tepj)as

34、s;12 ifnum0then13 dbms.output.putJine(居:IIt卿_srd!D);14 dbms_output.putjine(IIteirpJa1.anceI雒部毗!)15 dbms-output.putjine(嘴户血!)16 de1.etefromtransinfowherecardid=temp.cardID;17 de1.etefromcardinfowherecardid=tep,cardID;18 coit;19 e1.se、20 dbms,output.putjineC卡号籁3醺!1);21 endif;22 exception23 whenotherst

35、hen24 dbms.output.putjine(毅春该卡号!,);25 end;26 /己创总五、总结通过此次课程设计,使我更加扎实的掌握了有关数据库方面的知识,在设计过程中虽然遇到了一些问题,但经过一次又一次的思考,一遍又一遍的检查终于找出了原因所在,也暴露出了前期我在这方面的知识欠缺和经验不足。实践出真知,通过亲自动手制作,使我们掌握的知识不再是纸上谈兵。在课程设计过程中,我们不断发现错误,不断改正,不断领悟,不断获取。最终的检测调试环节,本身就是在践行“过而能改,善莫大焉”的知行观。这次课程设计终于顺利完成了,在设计中遇到了很多问题,最后在老师的指导下,终于游逆而解。在今后社会的发展

36、和学习实践过程中,一定要不懈努力,不能遇到问题就想到要退缩,一定要不厌其烦的发现问题所在,然后一一进行解决,只有这样,才能成功的做成想做的事,才能在今后的道路上劈荆斩棘,而不是知难而退,那样永远不可能收获成功,收获喜悦,也永远不可能得到社会及他人对你的认可!参考文献1郝安林,Orac1.eI1.g基础教程与实验指导,清华大学出版社2王珊,数据库系统概论,高等教育出版社3王霓虹,数据库系统原理,哈尔滨工业出版社(十二五规划教材)4李建中,数据库系统原理,电子工业出版社(原理)5StePhenS著,数据库设计,机械工业出版社6李丙洋.涂抹orac1.e一三思笔记之一步一步学OraC1.eM中国水利

37、水电出版社,2010.17KarenMorton.Orac1.eSQ1.高级编程M.人民邮电出版社,2011.i1.8梁敬彬,梁敬弘.收获不止orac1.eM.电子工业出版社,2013.59盖国强.循序渐进。rac1.e数据库管理、优化与备份恢复M.人民邮电出版社,2011.8101.anAbramson,Micheae1.Abbey,Michae1.J.Corey,窦朝辉.orac1.edatabase11g:初学者指南M.清华大学出版社,2010-01附录程序源代码:CREATETAB1.ESPACEspace_zqpDATAFI1.E,D:Bank.dbf,SIZE50MAUTOEXTE

38、NDONNEXT5MMAXSIZEUN1.IMITED;创建用户zqp,用户密码:zqpCREATEUSERZqPIDENTIFIEDBYzqpDEFAU1.TTAB1.ESPACESPaCe_zqp;TEMPORARYTAB1.ESPACEtempQUOTA2OMONSPaCe_xiangIin;用户已创建GRANTDBATOXIANG1.IN;授权成功CONNECTXiangIinaccp;已连接REATETAB1.Euserinfo(CUstomerIDNUMBER(4)NOTNU1.1.,CUstomerNameVARCHAR2(20)NOTNU1.1.,PIDVARCHAR2(18)

39、NOTNU1.1.,te1.ephoneVARCHAR2(13)NOTNU1.1.,addressVARCHAR2(50)一根据身份证ID创建散列分区PARTITIONBYHASH(PID)(PARTITIONpid1.,PARTITIONpid2,PARTITIONpid3,);为userinf0表添加约束条件A1.TERTAB1.EuserinfoADDCONSTRAINTPK_customerIDPRIMARYKEY(customerID)ADDCONSTRAINTUK_PIDUNIQUE(PID)ADDCONSTRAINTCK_PIDCHECK(1.ENGTH(PID)=18OR1.E

40、NGTH(PID)=15)ADDCONSTRAINTCK_te1.ephoneCHECK(te1.ephone1.IKE,0-90-90-90-9-0-90-90-90-90-90-90-90-9j,OR1.ENGTH(te1.ephone)=13);表己更改创建可以自动生成自增主列的序列customerid_seqCREATESEQUENCEcustomerid_seqSTARTWITH1INCREMENTBY1NOCACHE;序列已创建CREATETAB1.Ecard1.ofocardIDVARCHAR2(20)NOTNU1.1.,curTypeVARCIIAR2(10)NOTNU1.1.

41、,SavingTypeVARCHAR2(8)NOTNU1.1.,openDateDATENOTNU1.1.,openMoneyNUMBER(8)NOTNU1.1.,ba1.anceNUMBER(8)NOTNU1.1.,passVARCHAR2(6)NOTNU1.1.,IsReport1.ossVARCHAR2(2)NOTNU1.1.,CUstomerIDNUMBER(4)NOTNU1.1.)根据开户日期创建表分区PARTITIONBYRANGE(openDate)(PARTITIONopenDate_p1.VA1.UES1.ESSTHAN(TO.DATE(,01012007,ddmmyyyy,

42、),PARTITIONopenDate_p2VA1.UES1.ESSTHAN(TO.DATE(,01042007,ddmmyyyy,),PARTITIONopenDate_p3VA1.UES1.ESSTHAN(TO.DATE(,01072007,ddmmyyyy,),PARTITIONopenDate_p4VA1.UES1.ESSTHAN(TO.DATE(,01102007,ddmmyyyy,),PARTITIONopenDate_p5VA1.UESTHAN(TO.DATE(,01012008, ddmmyyyy,),PARTITIONopenDate_p6VALUESTHAN(T(LDATE

43、( 01/04/2008, ddmmyyyy),PARTITIONopenDate_p7VALUESTHAN(T(LDATE( 01/07/2008, ddmmyyyy),PARTITIONopenDate_p8VALUESTHAN(TO.DATE(, 01102008, ddmmyyyy,),PARTITIONopenDate_p9VALUESTHAN(TO.DATE(, 01012009, ddmmyyyy,),PARTITIONopenDate_pl0VALUESTHAN(T(LDATE( 01/04/2009, ddmmyyyy),PARTITIONopenDate,pllVALUESTHAN(TO.DATE(, 0

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

当前位置:首页 > 在线阅读 > 生活休闲


备案号:宁ICP备20000045号-1

经营许可证:宁B2-20210002

宁公网安备 64010402000986号