定义
系统存储过程
代码片段
--存储过程--方法说明:--方法名称 参数 调用--参数主要是一一对应的原则-- 1.类型对应 --子类可以替换父类 int--double-- 2.数量对应 --默认值,可变参数-- 3.顺序对应 --可以使用参数 参数:值的方法调用--返回值:通过return 返回值。但是只能返回单个值--可以通过Ref/Out扩展方法的“返回值”--创建存储语法--GO--Create Procedure usp_存储过程名称--(形参) 可以再这个里面定义参数--AS --相当于方法体--{-- 自定义局部变量-- 逻辑语句--}--GO--实例--1.查询所有User用户[dbo].[sys_user]--首先判断当前这个SP是否已经存在IF EXISTS(SELECT *FROM sysobjects WHERE name='usp_GetAllUsersInfo') drop Procedure usp_GetAllUsersInfo --其中Procedure可以简写为 ProcGOCREATE Procedure usp_GetAllUsersInfo --此处没有参数AS SELECT *FROM [dbo].[sys_user]GO --接下来开始调用SPexecute usp_GetAllUsersInfo --其中Execute可以简写成EXEC--2.查询指定性别的User信息IF EXISTS(SELECT *FROM sysobjects WHERE name='usp_GetAllUserInfoByGender') drop Procedure usp_GetAllUserInfoByGender GOCREATE Procedure usp_GetAllUserInfoByGender @gender char(2) --形参只是声明,不是定义,所以不需要Declare,多个参数使用逗号隔开AS Select *FROM [dbo].[sys_user] WHERE gender=@genderGO--调用存储过程Execute usp_GetAllUserInfoByGender 1
多个参数
多个参数,需要使用逗号分隔开,调用的时候遵循一一对应原则
采用默认值
默认值在声明的时候赋值,调用的时候应采用Default占位
特别注意的是:
- 如果想在调用SP时省去填写默认值对应的占位符Default,可以在声明参数时,将赋有默认值的参数放在没有默认值的参数之后;
- 此外,也可以采用name=value这样的方式来给参数赋值,从而忽略参数顺序,但是一旦采用此种赋值方式,那么所有参数都必须采用这样的赋值方式
输出参数

创建有返回值的存储过程
SqlDataAdapter调用存储过程
调用有参数的存储过程
多参数存储过程调用

调用有输出参数的存储过程?
