存储过程:管理员表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