今天刚刚学习了单表操作的存储过程,自己写一篇文章总结下今天刚学的,顺便在加深点印象!
1--创建数据库--


create database SingleTableOper
on
(
Name='SingleTableOper_data',
FileName='D:\SingleTableOper_data.mdf'
)
log on
(
Name='SingleTableOper_log',
FileName='D:\SingleTableOper_log.ldf'
)
use SingleTableOper
2--创建数据表--


create table UserInfos
(
userId int identity(1001,1) primary key not null,
userName nvarchar(20) not null,
userpwd nvarchar(20) not null,
age int not null,
sex nvarchar(10) not null,
email nvarchar(50) not null
)
insert into UserInfos values('张三','123zs',23,'男','zhangsan@163.com')
insert into UserInfos values('李四','123',24,'女','lisi@163.com')
select * from UserInfos
3--查询---


create proc SelectProc
(
@condition nvarchar(100)
)
as
begin
declare @sqls nvarchar(500)
set @sqls='select * from UserInfos where 1=1'
if @condition!=''
begin
set @sqls=@sqls+@condition;
end
end
exec sp_executesql @sqls
exec SelectProc 'and userName=''张三'''
4--添加---


create proc InsertProc
(
@userName nvarchar(20),
@userpwd nvarchar(20),
@age int,
@sex nvarchar(10),
@email nvarchar(50)
)
as
begin
insert into UserInfos values(@username,@userpwd,@age,@sex,@email)
end
exec InsertProc 'zhangsan','123',25, '男','zhangsan@qq.com'
5---修改---


create proc UpdateProc
(
@id int,
@userName nvarchar(20),
@userpwd nvarchar(20),
@age int,
@sex nvarchar(10),
@email nvarchar(50)
)
as
begin
update UserInfos set userName=@userName,userpwd=@userpwd,age=@age,sex=@sex,email=@email where userId=@id
end
6 --删除---
create proc DeleteProc
(
@userid int
)
as
begin
delete from UserInfos where userid=@userid
end
DeleteProc 1003
(
@userid int
)
as
begin
delete from UserInfos where userid=@userid
end
DeleteProc 1003
7--简单的分页存储过程----


create proc FenYe
(
@pageindex int,
@pagesize int,
@pagecount int
)
as
declare @regionCount int
select top (@pagesize) * from UserInfos where userid not in (select top (@pagesize*@pageindex) userid from Userinfos )
set @regionCount=(select count(*) from UserInfos)
if (@regionCount%@pagesize)!=0
begin
set @pagecount=@regionCount/@pagesize+1
end
begin
set @pagecount=@regionCount/@pagesize
end