资源描述:
《实验7SQL_PL编程基础(I)_正式》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、实验7PL/SQL编程基础(I)【实验目的与要求】■掌握PL/SQL基本语法■掌握PL/SQL简单存过程的编写【实验内容与步骤】7・0•实验准备工作1.测试用表的创建与数据添加(1).创建测试表CreateTableTESTTABLE(RECORDNUMBERnumber(4)NotNull,CURRENTDATEDateNotNull)Tablespace”USER”;一这里的表空间其实可以不去管,这样它就会在当前用八的表空间中创建一个表(2).使用for语句在测试表中加入测试数据DeclaremaxrecordsConstantInt:=100;ilnt:=1;BeginFor
2、iIn1..maxrecordsLoopInsertIntohqf.testtable(recordnumber,currentdate)・-hqf为模式名,应改动Values(i,Sysdate);dbms_output.put_line(现在输入的内容是:’
3、
4、i
5、
6、'*
7、
8、Sysdate);Commit;一这里切记要commit否则将不会将数据提交到表屮EndLoop;dbms_outpijt.put_line('记录已经按照计划全部插入,请查看!End;〃注:hqf为登录用户名,需根据情况改动,女山实验中一般用scott.(2).查询表中数据,给出查询结果截图:SQL>se
9、lect*2frontesttable;RECORDNUMBERCURRENTDATE125T1月-10225-11^-10325-11^-10425-11^-10525-11^-10625-11^-10725-11^-10825-11^-10925-11^-101025-11^-101125-11^-10RECORDNUMBERCURRENTDATE月月月月月月月月〔-10-10-10-10-10-10-10-101.导入教材实验数据(l).创建用户school,并赋于相应的权限:CREATEUSERvenditionidentifiedbyvendition;GRANTCREA
10、TESESSION,RESOURCE,DBATOvendition;CREATEUSERSCHOOLidentifiedbySCHOOL;GRANTCREATESESSION,RESOURCEfDBATOSCHOOL;(2).将文件夹“TcslTablcBnk”中的备份文件school.DMP和vendilion.DMP复制到某一目录下(例如E盘根目)。(3).然后启动CMD命令提示窗口,运行如下的还原命令。impuserid-school/schoolignore=yfromuser-schooltouser-schoolfile=e:school.DMPimpuserid=v
11、endition/venditionignore-yfromuser=venditiontouser=venditionfile-eRendition.DMP(2).验证确认。以用户名School登录系统,查看相应的表,看是否有数据。7丄最简单的PL/SQL程序1.输出”Hello,World"笫一个例子输出”Hello,World"setserverouton-设置SQL水Plus将服务器所返回的写出来begin-块开始DBMS_OUTPUT.pm」Me('H€llo,World');••在控制台输出信息,类似C语言的Prigf或者java语言中的System.oul.print
12、end;■■块结束运行结果为:SQL>setseruerouton;SQL>begin2DBMSOUTPUT.put_:LinE('HelloyMord・);3end;4/Hello,WordPL/SQL过程已成功完成。SQL>
13、1.接收数据并输出/乂■■士4“■士■丄■4“■士4“■丄■4“*4*■丄■•丄■■丄■・丄・*4*■丄■*4*■丄■*4*■丄■Z叫乜^1^#T%在此基础上,完成Hello,某某,某某从客户端得到f・丫・・:•.丫・.丫・・;•■[.•T*•T*・:•14、—与“客户端”交互,类似C语言的sc耐语句DBMS_OUTPUT.putJine(•Hello,'
15、
16、v』ame);end;■■块结束运行结果为:SQL>declare2u_naneuarchar2(20);3begin4unane:='&姓名';5DBMSOUTPUT・PUT_LINE(・
17、
18、unamE);6end;7/输入姓名的值:zhangniaohui原慎4:u_nane:=,&^名・;新值4:unane:='zhangniaohui1;Hello9zhang