- 9
- 0
- 约1.02万字
- 约 12页
- 2016-12-03 发布于贵州
- 举报
SQL 存储过程学习总结
select * from 成绩表select * from 学生信息表1 存储过程的定义存储过程(procedure)类似于C语言中的函数 用来执行管理任务或应用复杂的业务规则存储过程可以带参数,也可以返回结果int sum(int a,int b){ int s; s =a+b; return s ;}存储过程相当于C语言中的函数存储过程可以包含数据操纵语句、变量、逻辑 控制语句等 存储过程------------------------单个 SELECT 语句SELECT 语句块SELECT语句与逻辑控制语句可以包含2 存储过程的优点执行速度更快允许模块化程序设计提高系统安全性减少网络流通量3、存储过程的分类3.1 系统存储过程由系统定义,存放在master数据库中类似C语言中的系统函数系统存储过程的名称都以“sp_”开头或”xp_”开头3.2 用户自定义存储过程由用户在自己的数据库中创建的存储过程类似C语言中的用户自定义函数4、常用的系统存储过程4.1 系统存储过程列表系统存储过程说明sp_databases列出服务器上的所有数据库。sp_helpdb报告有关指定数据库或所有数据库的信息sp_renamedb更改数据库的名称sp_tables返回当前环境下可查询的对象的列表sp_columns回某个表列的信息sp_help查看某个表的所有信息sp_helpconstraint查看某个表的约束sp_helpindex查看某个表的索引sp_stored_procedures列出当前环境中的所有存储过程。sp_password添加或修改登录帐户的密码。sp_helptext显示默认值、未加密的存储过程、用户定义的存储过程、触发器或视图的实际文本。4.2 调用常用的系统存储过程EXEC sp_databases--列出当前系统中的数据库EXEC sp_renamedb Northwind,Northwind1 --修改数据库的名称(单用户访问)USE stuDB --当前数据库中查询的对象的列表GOEXEC sp_tables --返回某个表列的信息EXEC sp_columns stuInfo --返回某个表列的信息EXEC sp_help stuInfo--查看表stuInfo的信息EXEC sp_helpconstraint stuInfo --查看表stuInfo的约束EXEC sp_helpindex stuMarks --查看表stuMarks的索引EXEC sp_helptext view_stuInfo_stuMarks --查看视图的语句文本EXEC sp_stored_procedures --查看当前数据库中的存储过程4.3 调用常用的扩展存储过程:xp_cmdshell可以执行DOS命令下的一些的操作,以文本行方式返回任何输出 调用语法:EXEC xp_cmdshell DOS命令[NO_OUTPUT]【案例分析】创建数据库bankDB,要求保存在D:\bankUSE masterGOEXEC xp_cmdshell mkdir d:\bank, no_output --创建文件夹D:\bankIF EXISTS(SELECT * FROM sysdatabases WHERE name=bankDB) DROP DATABASE bankDBGOCREATE DATABASE bankDB ( …)GO --查看文件夹D:\bankEXEC xp_cmdshell dir D:\bank\ --查看文件5、创建存储过程5.1 定义存储过程的语法 create proc[edure] 存储过程名 @参数 数据类型= 默认值output, ……, @参数n 数据类型= 默认值output AS SQL语句 GO和C语言的函数一样,参数可选参数分为输入参数、输出参数输入参数允许有默认值5.2 创建不带参数的存储过程【问题】请创建存储过程,查看本次考试平均分以及未通过考试的学员名单说明:笔试和机试都通过了60分才算通过。--创建不带参数的存储过程create procedure proc_stuASdeclare @avgwri float,@avglab floatselect @avgwri=avg(笔试成绩),@avglab=avg(上机成绩) from 成绩表 --笔试平均分和机试平均分变量print 笔试成绩分数=+convert(varchar(10),@avgwri)print 上机成绩分数=+convert(varchar(10),@avglab)if @avgwri70 and @avglab70 --显示考试成绩的等级print 本班成绩:优秀elseprint 本班成绩:较
原创力文档

文档评论(0)