新手教学--(常用的存储过程)
/*
使用存储过程的优点
1.允许模块化程序设计
2.允许更快的执行
3.减少网络流量
4.可作为安全机制使用
-------------------------------------------------------------------------------------------------------
常用的系统存储过程
sp_databases列出服务器上的所有数据库
sp_helpdb报告有关指定数据库或所有数据库的信息
sp_renamedb更改数据库的名称
sp_tables返回当前环境下可查询的对象的列表
sp_columns返回某个列表的信息
sp_help查看某个表的所有信息
sp_helpconstraint查看某个表的约束
sp_helpindex查看某个表的索引
sp_stored_procedures列出当前环境中的所有存储过程
sp_password添加或修改登录帐户的密码
sp_helptext显示默认值,未加密的存储过程,用户定义的存储过程,触发器或试图的实际文本
*/
use stuDB
GO
/*--检测是否存在:存储过程存放在系统表sysobjects中,如果存在就删除--*/
if exists (select * from sysobjects where name='proc_stu')drop procedure proc_stu
GO
--表stuMarks有字段writtenExam(笔试)和labExam(机试)
/*创建无参数的存储过程*/
create procedure proc_stu
as declare @writtenAvg float,@labAvg float ---定义笔试平均分和机试平均分的变量
select @writtenAvg = avg(writtenExam),@labAvg=avg(labExam) from stuMarks
print '笔试平均分:'+ convert(varchar(50),@writtenAvg)
print '机试平均分:'+ convert(varchar(50),@labAvg)
if(@writtenAvg>70 and @labAvg>70)
print '本班考试成绩:优秀'
else
print '本班考试成绩:较差'
print '--------------------------------------------------------------------------------------------------'
GO
/*--调用执行存储过程--*/
exec proc_stu
------------------------------------------------------------------------------------------------------------
/*创建带输入参数的存储过程*/
create procedure proc_stu
@writtenAvg float --参数1
@labAvg float --参数2
as
SQL语句
。。。。。。
--调用执行存储过程
exec proc_stu 60.0,70.0 --带2个参数
使用存储过程的优点
1.
2.
3.
4.
-------------------------------------------------------------------------------------------------------
常用的系统存储过程
sp_databases
sp_helpdb
sp_renamedb
sp_tables
sp_columns
sp_help
sp_helpconstraint
sp_helpindex
sp_stored_procedures
sp_password
sp_helptext
*/
use stuDB
GO
/*--检测是否存在:存储过程存放在系统表sysobjects中,如果存在就删除--*/
if exists (select * from sysobjects where name='proc_stu')drop procedure proc_stu
GO
--表stuMarks有字段writtenExam(笔试)和labExam(机试)
/*
create procedure proc_stu
as declare @writtenAvg float,@labAvg float ---
select @writtenAvg = avg(writtenExam),@labAvg=avg(labExam) from stuMarks
print '
print '
if(@writtenAvg>70 and @labAvg>70)
print '
else
print '
print '--------------------------------------------------------------------------------------------------'
GO
/*--
exec proc_stu
------------------------------------------------------------------------------------------------------------
/*
create procedure proc_stu
@writtenAvg float --
@labAvg float --
as
SQL
。。。。。。
--调用执行存储过程
exec proc_stu 60.0