存储过程:管理员表TAdmin的查询,插入,修改,删除操作

存储过程(Stored Procedure)是在大型数据库系统中,一组为了完成特定功能的SQL 语句集,经编译后存储在数据库中,用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它。

基本语法
  一.创建存储过程
   create procedure sp_name   
@[参数名] [类型],@[参数名] [类型]   
as   
begin   
.........   
end   

以上格式还可以简写成:   
create proc sp_name   
@[参数名] [类型],@[参数名] [类型]   
as   
begin   
.........   
end   

/*注:“sp_name”为需要创建的存储过程的名字,该名字不可以以阿拉伯数字开头*/  

  二.调用存储过程   
1.基本语法:exec sp_name [参数名]   

  三.删除存储过程   
1.基本语法:   drop procedure sp_name   
2.注意事项   
(1)不能在一个存储过程中删除另一个存储过程,只能调用另一个存储过程   

  四.其他常用命令   
1.show procedure status   
显示数据库中所有存储的存储过程基本信息,包括所属数据库,存储过程名称,创建时间等
2.show create procedure sp_name   
显示某一个mysql存储过程的详细信息   
3、exec sp_helptext sp_name   
显示你这个sp_name这个对象创建文本

 

案例:

存储过程:管理员表TAdmin的查询,插入,修改,删除操作。

 

注明:MS SQL数据库,AdminID为主键,自增。

 

/*根据管理员ID号,查询管理员表所有信息*/


if exists(select * from sysobjects where type='p' and name='sp_TAdmin_selectById')
 drop proc sp_TAdmin_selectById
go


create procedure sp_TAdmin_selectById
 @id int
as
 select * from TAdmin where AdminID=@id
 
go

 

/*插入一条记录*/

if exists(select * from sysobjects where type='p' and name='sp_TAdmin_insert')
 drop proc sp_TAdmin_insert
 
go


create procedure sp_TAdmin_insert

 @AdminUserName nvarchar(20),
 @AdminPassword nvarchar(50),
 @Adminlevel int,
 @AdminPower nvarchar(255),
 @AdminName nvarchar(20),
 @AdminTel nvarchar(255),
 @AdminFax nvarchar(255),
 @AdminMobile nvarchar(255),
 @AdminEmail nvarchar(255),
 @AdminAddress nvarchar(255),
 @AdminPost nvarchar(20),
 @AdminRegDate datetime,
 @AdminLogin datetime,
 @AdminLogins int
as
 insert into TAdmin(AdminUserName,AdminPassword,Adminlevel,AdminPower,AdminName,AdminTel,AdminFax,AdminMobile,AdminEmail,AdminAddress,AdminPost,AdminRegDate,AdminLogin,AdminLogins)
 values(@AdminUserName,@AdminPassword,@Adminlevel,@AdminPower,@AdminName,@AdminTel,@AdminFax,@AdminMobile,@AdminEmail,@AdminAddress,@AdminPost,@AdminRegDate,@AdminLogin,@AdminLogins)
 
go

 

/*根据管理员ID号,修改管理员表的某条记录*/

if exists(select * from sysobjects where type='p' and name='sp_TAdmin_updateById')
 drop proc sp_TAdmin_updateById
 
go


create procedure sp_TAdmin_updateById
 @id int,

 @AdminUserName nvarchar(20),
 @AdminPassword nvarchar(50),
 @Adminlevel int,
 @AdminPower nvarchar(255),
 @AdminName nvarchar(20),
 @AdminTel nvarchar(255),
 @AdminFax nvarchar(255),
 @AdminMobile nvarchar(255),
 @AdminEmail nvarchar(255),
 @AdminAddress nvarchar(255),
 @AdminPost nvarchar(20),
 @AdminRegDate datetime,
 @AdminLogin datetime,
 @AdminLogins int
as
 update TAdmin set

  AdminUserName=@AdminUserName,
  AdminPassword=@AdminPassword,
  Adminlevel=@Adminlevel,
  AdminPower=@AdminPower,
  AdminName=@AdminName,
  AdminTel=@AdminTel,
  AdminFax=@AdminFax,
  AdminMobile=@AdminMobile,
  AdminEmail=@AdminEmail,
  AdminAddress=@AdminAddress,
  AdminPost=@AdminPost,
  AdminRegDate=@AdminRegDate,
  AdminLogin=@AdminLogin,
  AdminLogins=@AdminLogins
 where AdminID=@id
 
go

 

/*根据管理员ID号,删除查询管理员表某条记录*/

if exists(select * from sysobjects where type='p' and name='sp_TAdmin_deleteById')
 drop proc sp_TAdmin_deleteById
 
go


create procedure sp_TAdmin_deleteById
 @id int
as
 delete from TAdmin 
 where AdminID=@id
 
go

 

文献来源:

UNDONER(小杰博客) http://blog.csdn.net/undoner

LSOFT.CN(琅软中国) http://www.lsoft.cn

 

posted on 2012-11-17 09:29  吴一达  阅读(239)  评论(0编辑  收藏  举报

导航