百城建设提质工程网站,四川建设网有限责任公司招聘,如何将一台电脑做网站空间,开服网站源码一#xff1a;存储过程概念
预先存储好的sql程序#xff0c;通过名称和参数进行执行#xff0c;供应程序去调用#xff0c;也可以有返回结果#xff0c;存储过程可以包含sql语句
可以包含流程控制、逻辑语句等。
二#xff1a;存储过程的优点
执行速度更快 允许模块化…一存储过程概念
预先存储好的sql程序通过名称和参数进行执行供应程序去调用也可以有返回结果存储过程可以包含sql语句
可以包含流程控制、逻辑语句等。
二存储过程的优点
执行速度更快 允许模块化程序设计 提高系统安全性 减少网络流通量
三存储过程的分类
1 系统提供的存储过程名称一般都是以sp_开头由SQLServer创建、管理和使用存放在master数据库中。 2 扩展存储过程名称一般都是以xp_开头使用编程语言C#创建外部的存储过程以DLL扩展集的形式存在 3 自定义存储过程:用户在自己的数据库中创建的存储过程 四常用系统存储过程
1 列出有关指定数据库或者所有的数据库信息 exec sp_helpdb SMDB 2 更改数据库名字newname 参数1 新名字; dbname 参数2 旧名称 别同时改一个数据库名称 exec sp_renamedb newnamep,dbnamePhone 3 返回某个表列的信息 exec sp_columns Students 4 查看一个表的约束信息 exec sp_helpconstraint Students 5 查看表的所有信息 exec sp_help Students 6 查看某个表的索引信息 exec sp_helpindex Students 五自定义存储 的语法 create procedure 过程名 -- 参数1 数据类型 -- 参数2 数据类型 --as -- sql语句 --go 六关于自定义存储 的例子 一:创建一个存储过程。查询考试成绩显示学号姓名或者班级总成绩并按照成绩总分高低排序 -- 统计分析考试成绩显示班级名称 C#平均分 数据库平均分 按照班级的分组来进行实现
use SMDBgo-- 如果已经存在 usp_test1存储过程 就先删除这个存储过程if exists(select * from sysobjects where name usp_test1)drop procedure usp_tes1go-- 定义存储过程create procedure usp_tes1as -- sql语句-- 查询考试成绩显示学号姓名班级总成绩并按照成绩总分高低排序select Students.StudentId,StudentName,ClassName,总成绩 (CSharp SqlserverDB) from Studentsinner join StudentClass on StudentClass.ClassId Students.ClassIdinner join ScoreList on ScoreList.StudentId Students.StudentIdorder by 总成绩 DESC-- 统计考试成绩显示班级名称 C#平均分 按照班级分组进行实现select ClassName,CSharp平均分AVG(CSharp),数据库平均分 AVG(SqlserverDB) from ScoreListinner join Students on ScoreList.StudentId ScoreList.StudentIdinner join StudentClass on StudentClass.ClassId Students.ClassIdgroup by ClassNameorder by ClassNamego-- 调用存储过程exec usp_tes1
二带参数的存储过程
查询考试成绩要求能够按照自定义的及格线查询结果? use SMDBgocreate procedure usp_test2-- 输入参数cs int,-- csharp 及格线db int -- 数据库及格线
as select Students.StudentId,StudentName,CSharp,SqlserverDB from ScoreListinner join Students on Students.StudentId ScoreList.StudentIdwhere SqlserverDB csselect Students.StudentId,StudentName,CSharp,SqlserverDB from ScoreListinner join Students on Students.StudentId ScoreList.StudentIdwhere SqlserverDB db
go exec usp_test2 68,80
exec usp_test2 cs 50,db 70
exec usp_test2 db 70,cs 50