从创建数据库到存储过程与用户自定义函数的小感
2022-11-12 09:22:32
内容摘要
这篇文章主要为大家详细介绍了从创建数据库到存储过程与用户自定义函数的小感,具有一定的参考价值,可以用来参考一下。
对此感兴趣的朋友,看看idc笔记做的技术笔记!
代码如下:
文章正文
这篇文章主要为大家详细介绍了从创建数据库到存储过程与用户自定义函数的小感,具有一定的参考价值,可以用来参考一下。
对此感兴趣的朋友,看看idc笔记做的技术笔记!
代码如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 | <code>create database MyDb on ( name=mainDb, filename= 'c:\MyDb\mainDb.mdf' , size=10, maxsize=100, filegrowth=4 ), ( name=secondDb, filename= 'C:\MyDb\secondDb.ndf' , size=15, maxsize=28, filegrowth=2 ) log on ( name=log_Db, filename= 'C:\MyDb\log_Db' , size=20, filegrowth=10% ) --创建数据库的一般格式 use mydb create table student ( stuId int primary key identity (1,1), stuName varchar (20) not null, stuAge int not null check(stuAge between 20 and 50), stuSex varchar(4) not null check(stusex in( 'F' , 'M' )), stuDept varchar(20) check( stuDept in( '软工系' , '环艺系' , '电子商务系' )), stuAddress varchar(20) not null ) drop table student select * from student insert into student values ( '孙业宝' ,22, 'M' , '软工系' , '河北省邢台市' ) insert into student values ( '孙婷' ,20, 'F' , '电子商务系' , '河北省邢台市' ) insert into student values ( '孟几' ,22, 'F' , '电子商务系' , '河北省邢台市' ) insert into student values ( '小五' ,22, 'M' , '软工系' , '河北省革要市' ) insert into student values ( '王丹丹' ,22, 'M' , '软工系' , '河北省阜阳市' ) insert into student values ( '陈海波' ,22, 'M' , '软工系' , '河北省合肥市' ) --单一的输入输出参数的存储过程, create proc Myproc @Dept varchar(20),@ count int output As if not exists(select * from student where Studept=@dept) print '没有指定类型的学生存在!!' else select @ count = Count (*) from student where studept=@dept drop proc myproc --执行该存储过程 declare @result int Exec myproc '软工系' ,@result output print @result --多输入输出的存储过程. create proc Searchstu @area varchar(20),@Sex varchar(2),@ count int output,@avg_age int output as select @ count = count (*),@avg_age=Avg(stuage) from student where stuaddress=@area and stusex=@sex --执行该存储过程 declare @stuNo int ,@stuAvg_age int exec searchstu '河北省邢台市' , 'M' ,@stuNo output,@stuAvg_age output select @stuNo as 学生总数,@stuavg_age as 平均年龄 --用户自定义的函数(求立方体体积定义标题函数返回单一值) create function dbo.CubicVolume (@CubeLength int,@CubeHenght int,@CubeWidth int) Returns int as begin return (@CubeLength*@CubeHenght*@CubeWidth) end drop function CubicVolume --调用该方法 select dbo.CubicVolume(10,10,10) --用户自定义的函数(内嵌表形式,返回一个表) create function f_stuInfo(@studept varchar(20)) returns table as return ( select * from student where studept=@studept ) --调用该方法 select * from dbo.f_stuInfo( '软工系' ) --用户自定义的函数(多语句表值函数,返回一个用户想要显的部分数据的表) create function f_stuSexTye(@stuDept varchar(10)) returns @t_stuDetailInfo table( stuName varchar(20), stuAge int , stuSex varchar(4) ) as begin insert into @t_stuDetailInfo select Stuname,stuage, Case stusex when 'M' then '男' when 'F' then '女' end from student where stuDept=@studept return end --调用该方法函数 select * from dbo.f_stuTye( '软工系' ) </code> |
注:关于从创建数据库到存储过程与用户自定义函数的小感的内容就先介绍到这里,更多相关文章的可以留意
代码注释