Sql基础代码 第六章 存储过程_第1页
Sql基础代码 第六章 存储过程_第2页
Sql基础代码 第六章 存储过程_第3页
Sql基础代码 第六章 存储过程_第4页
Sql基础代码 第六章 存储过程_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Sql基础代码目录第一章建库建表21.1 数据库的应用21.1.1创建数据库21.1.2查询数据库31.1.3删除数据库31.2 表的运用41.2.1创建表41.2.2删除表51.3 约束61.3.1五种约束61.3.2约束的使用6第二章数据查询82.1 建表和插入数据82.1.1建立学生信息表82.1.2插入信息92.2 查询运用112.2.1数据查询112.2.2单表查询122.2.3连接查询132.2.4操作结果集查询182.2.5嵌套查询182.3数据库更新19第三章函数193.1 五种函数的运用193.1.1字符串函数203.1.2数学函数213.1.3日期函数223.1.4系统函数

2、233.1.5聚合函数24第四章变量254.1局部变量264.2全局变量27第五章循环语句305.1统计平均成绩305.2提分315.3根据成绩显示等级35第六章存储过程366.1 存储过程的应用366.1.1系统存储过程366.1.2Sp_helptext的使用406.1.3创建存储过程416.2 raiserror语句的应用45第七章exists子查询467.1exists子查询的应用467.2求银行利息497.3 变量查询517.4 查询考试通过情况537.5 循环提分557.6 通过率57第八章事物588.1使用事物解决银行转账59第九章触发器609.1检测触发器629.2创建触发器6

3、29.3触发器delete运用649.4触发器update运用659.5触发器禁止修改运用66第六章 存储过程6.1 存储过程的应用6.1.1 系统存储过程-列出服务器上的所有数据库-sp_databases-报告有关指定数据库或所有数据库的信息-sp_helpdb-更改数据库的名称-use mastersp_renamedb gongziguanli/*更改前的名称*/,工资管理/*更改后的名称*/-返回当前环境下可查询的对象的列表-sp_tables-以下存储过程都以student数据库为例-use student-回某个表列的信息-sp_columns stuinfo-查看某个表的所有信

4、息-sp_help stuinfo-查看某个表的约束-sp_helpconstraint stuinfo-查看某个表的索引-sp_helpindex stuinfo-列出当前环境中的所有存储过程-sp_stored_procedures-添加或修改登录转户的密码-sp_password 1234,2234-显示默认值、未加密的存储过程、用户定义的存储过程、触发器或视图的实际文本-sp_helptextsp_helptext-创建数据库bankDB,要求保存在D:bankuse mastergoexec xp_cmdshell mkdir d:bank,no_outputif exists(se

5、lect*from sysdatabases where name=bankDB)drop database bankDBgocreate database bankDBexec xp_cmdshelldir d:bank-查看文件6.1.2 Sp_helptext的使用-显示表的所有文本信息sp_helptextsysobjects-显示数据库的所有文本信息sp_helptextsysdatabasessp_helptextsp_helptextsp_helptextsys.all_columns6.1.3 创建存储过程-用sp_executesql显示stuinfo表use student

6、declare sql nvarchar(1000)declare tablename nvarchar(20) set tablename=stuinfoset sql=select*from +tablename+ where 1=1print sqlexec sp_executesql sql-创建存储过程,查看本次考试平均分及未通过考试的学员名单create proc proc_stuasdeclare wavg float-笔试平均分declare lavg float-机试平均分select wavg=avg(wriexam),lavg=avg(labexam)from stuma

7、rksprint本次笔试的平均分为:+convert(varchar(10),wavg)print本次机试的平均分为:+convert(varchar(10),lavg)if(wavg80 and lavg80)-判断平均分等级print本班成绩优秀elseprint本班成绩较差print没有通过考试的学员有:print=select*from stumarks where wriexam60 or labexam60-显示未通过的学员go-调用存储过程exec proc_stu-用存储过程更改及格线create proc proc_stu1 wriexam int,-在存储过程前加变量要加逗

8、号,并且变量前不加declare labexam intasprint没有通过考试的学员有:print=select*from stumarks where wriexamwriexam or labexamlabexam-将笔试及格线和机试及格线设为70exec proc_stu1 wriexam=70,labexam=70-如果希望存储过程后,返回一个或多个值,这是就需要使用输出(output)参数了-修改上列,返回未通过考试的学员人数create proc proc_stu2nopasscount int output,wriexam int=60,labexam int=60aspri

9、nt笔试及格分数线为:+convert(varchar(10),wriexam)+机试及格分数线为:+convert(varchar(10),labexam)print不及格学员有:select nopasscount=count(*) from stumarks where wriexamwriexamor labexamlabexamselect sname,stuinfo.sno,wriexam,labexamfrom stuinfoinner join stumarks on stuinfo.sno=stumarks.snowhere wriexamwriexamor labexam3

10、)print不及格人数+convert(char(5),count)+分数线还应下调elseprint分数线合适,不用下调6.2 raiserror语句的应用-使用raiserror语句,如果有错误,统计中断退出create proc proc_stu3notpasssum int output,-输出参数wriexam int=60,labexam int=60asif(not wriexam between 0 and 100)or(not labexam between 0 and 100)beginraiserror(及格线错误,请指定1-100之间的分数,统计中断退出,16,1)-引发系统错误,指定错误的严重级别,调用级别为(默认),并影响error系统变量的值return-退出批处理,后续语句不再执行endgo-调用存储过程,测试raiserror语句 declare sum int,t intexec proc_stu3 sum output,604-笔试及格线误输入分set t=errorprint

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论