首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > 其他数据库 >

数据库小结十存储过程

2012-09-28 
数据库总结十存储过程?什么是存储过程存储过程(procedure)类似于C语言中的函数 ?用来执行管理任务或应用复

数据库总结十存储过程

?什么是存储过程存储过程(procedure)类似于C语言中的函数
?用来执行管理任务或应用复杂的业务规则
?存储过程可以带参数,也可以返回结果
?存储过程可以包含数据操纵语句、变量、逻辑 控制语句等

存储过程的优点
?执行速度更快
?允许模块化程序设计
?提高系统安全性
?减少网络流通量
带有输入、输出参数存储过程
create proc sum_course_credit
(@stud_id char(8),@sum_credit tinyint out,@stud_id1 char(8) output)
as
begin
select @sum_credit =sum(course_credit) from tblcourse
       where course_id in(select course_id
                 from  tblscore sc   where stud_id=@stud_id)
select @stud_id1 = @stud_id
end
go
declare @n int,@stud_id2 char(8)
exec  sum_course_credit '31022001' ,@n out, @stud_id2 out
print '学号为:'+@stud_id2+ '学生选修总学分:'+convert(char(4), @n)

?存储过程是一组预编译的SQL语句,它可以包含数据操纵语句、变量、逻辑控制语句等。
?存储过程允许带参数,参数分为:
?输入参数
?输出参数
   其中,输入参数可以有默认值。
?输入参数:可以在调用时向存储过程传递参数,此类参数可用来向存储过程中传入值。
?输出参数从存储过程中返回(输出)值,后面跟随OUTPUT关键字。
?RAISERROR语句用来向用户报告错误。
?output是输出参数
?out是普通输入参数

alter procedure insertABData
as
declare @id int ,@aname varchar(100),@bname varchar(100)
set @id = 1
set @aname = 'a'
set @bname = 'b'
while(@id <1000000)
    begin
    set @aname= 'a'+cast(@id as char(12))
    set @bname= 'b'+cast(@id as char(12))
    insert into A values(@id, @aname)
    insert into B values(@id,@id, @bname)
    set @id = @id+1
    end
execute insertABData

热点排行