当前位置:  数据库>mysql

从创建数据库到存储过程与用户自定义函数的小感

    来源: 互联网  发布时间:2014-09-06

    本文导语:  代码如下:create database MyDb on ( name=mainDb, filename='c:MyDbmainDb.mdf', size=10, maxsize=100, filegrowth=4 ), ( name=secondDb, filename='C:MyDbsecondDb.ndf', size=15, maxsize=28, filegrowth=2 ) log on ( name=log_Db, filename='C:MyDblog_Db', size=20, filegrowth=10% ) --创建数据库的...

代码如下:

create database MyDb
on
(
name=mainDb,
filename='c:MyDbmainDb.mdf',
size=10,
maxsize=100,
filegrowth=4
),
(
name=secondDb,
filename='C:MyDbsecondDb.ndf',
size=15,
maxsize=28,
filegrowth=2
)
log on
(
name=log_Db,
filename='C:MyDblog_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('软工系')

    
 
 

您可能感兴趣的文章:

  • mkdir()是创建文件夹的函数,有没有循环创建多个目录级的函数呢?
  • mkdir函数参数问题,创建目录权限不正确
  • 怎么用函数得到一个文件的创建者
  • 请问:进程创建的线程是怎样运行的啊,线程的处理函数运行完了,线程就退出了吗?
  • 请问删除与创建文件的函数是哪两个?
  • 有什么函数能同时创建多极目录?
  • 请问如何改变以创建窗口的背景色,该用什么函数,能讲讲吗?
  • 如何用函数创建一个目录
  • Linux下面创建"作业任务"的函数是什么?
  • 创建一个获取客户端连接IP地址的函数
  • 执行一个main函数程序时,unix操作系统调用什么创建进程?fork?newproc?
  • linux 下用open()函数在根目录下打开或创建文件失败
  • 创建多级目录用什么函数?
  • 获取文件属性,大小,目录,创建时间等信息的函数是什么?
  • 请问在linux下的c语言中如何删除由tmpfile()函数创建的临时问题
  • 在创建线程的时候,函数如果有两个参数该怎么办啊
  • 创建目录用什么函数(调用)比较好?
  • 不用system函数,怎么用C语言在Linux下创建一个目录?
  • linux下什么函数是用来“创建软链接和硬链接的呢“有么,今天突然想到这个问题。。
  • linux c用什么函数创建文件夹啊?
  • C#通过反射创建自定义泛型
  • 深入mysql创建自定义函数与存储过程的详解
  • java实现微信公众平台自定义菜单的创建示例
  • Python自定义函数的创建、调用和函数的参数详解
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • linux下如何创建虚拟存储池
  • MySQL5创建存储过程的示例
  • UNIX中使用putenv需要创建字符串存储空间,而且是只能在本进程中才有用
  • SQL创建的几种存储过程
  • SQL Server创建链接服务器的存储过程示例分享
  • SQL Server 2005 创建简单的存储过程--总结分析
  • MySQL动态创建表,数据分表的存储过程
  • 怎样在 Linux操作系统 硬盘上创建连续存储的大文件
  • C 创建链表并将信息存储在二进制文件中读取的实例代码
  • SQL Server创建存储过程详解
  • MSSQL监控数据库的DDL操作(创建,修改,删除存储过程,创建,修改,删除表等)
  • oracle存储过程创建表分区实例
  • oracle 存储过程详细介绍(创建,删除存储过程,参数传递等)
  • C++ Bitsets 成员 Constructors:创建新bitsets
  • 菜鸟在c盘装了win2000,想在剩下的空间装Red Hat Enterprise Linux 3,在创建linux分区的时候,不知道都创建什么分区??我知道要创建一个
  • 菜鸟在c盘装了win2000,想在剩下的空间装Red Hat Enterprise Linux 3,在创建linux分区的时候,不知道都创建什么分区??我知道要创建一个 iis7站长之家
  • 一进程源源不断地创建文件,另一进程把这些创建的文件抓取并挪走
  • C++ I/O 成员 open():创建一个输入流
  • 创建用户组创建用户出错
  • Xcode介绍及创建工程和工程依赖操作步骤
  • 进程创建进程组后,然后创建该组中的进程,然后终止。这里的终止....?
  • HTML5 sprite 样式创建工具Stitches介绍
  • linux如何创建一个共享内存 可以mount 可以创建目录之类 跟硬盘分区一样
  • java Servlet实现Session创建存取以及url重写代码示例
  • php循环创建目录示例分享(php创建多级目录)
  • navicat 8 创建数据库与创建用户分配权限图文方法
  • sql server 2008:您对无法重新创建的表进行了更改或者启用了“阻止保存重新创建表的更改”
  • 各位高手知道在JAVA中如何用一个名称创建一个对象实例,并调用其方法,注意:在编写代码时并不知要创建的对象的类名,也并不知方法名
  • FTP上创建的文件夹的创建日期始终和本机的对不上(无论如何改变日期和时间)(紧急!!!)
  • 急!linux下mysql的创建用户组和创建用户命令不能生效啊????
  • 怎么创建包,我创建包后,怎么找不到呢?


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3