1、存储过程何意?何用?
存储在数据库服务器上的,实现特定功能的,可以反复调用的,sql语句的集合。
2、sqlserver的存储过程
A:sql语句
DDL:数据定义语言,create alter drop
DML:数据操作语言,select insert update delete
DCL:数据控制语言,grant revoke
B:存储过程的创建
create procedure 过程名
参数信息
as
sql语句的集合
C:分类
无参过程:没有任何的参数的存储过程
有参的过程:有输入参数的过程和有输出参数的过程
--创建最简单的无参存储过程(案例)
create proc proc_users_findAll
as
select * from users
--执行过程
exec proc_users_findAll
--根据编号进行查询
create proc proc_users_findById
@id int
as
select * from users where uid=@id
--调用有参数的过程时,必须为输入参数赋值
exec proc_users_findById @id=20
--添加新用户 create proc proc_user_addUsers
@userName varchar(20),@password varchar(20)
as
insert into users values(@userName,@password)
exec proc_user_addUsers @password='qaz',@userName='wsx'
--根据编号修改名称
create proc proc_users_updateById
@id int,@username varchar(20)
as
update users set username=@userName where uid=@id
exec proc_users_updateById 2,'java'
--利用输出参数,实现根据输入的编号获得密码
create proc proc_users_getPwdById
@id int,@pwd varchar(20) output
as
--只要有输出参数,过程的本质就是为输出参数赋值
select @pwd=password from users where uid=@id
--声明变量用Declare关键字, Sqlserver中不区分大小写,--为SQLServer中的注释 declare
@result varchar(20)
exec proc_users_getPwdById 2,@result output
select @result