在SQL Server数据库中 存储过程是什么,希望给点例题
2个回答
展开全部
存储过程不仅sqlserver里有、其他dbms也有、只是语法有小出入。
存储过程是一段存储在系统中可随时使用的可带参数的SQL执行语句或程序段。
使用存储过程可以避免重复的填写SQL语句、可以快速的得到符合条件的某段SQL语句的执行结果。
例子(MSSQL):比如想实现一个表a(aid int,atime datetime)输入aid的值得到对应的atime的值
创建:
create proc proc_test //创建过程
@aid int //定义一个参数(默认为in参数)
as
declare @atime datetime //定义一个变量用于接收返回值(游标在这里定义)
begin
select @atime=atime from a where aid=@aid //select @xxx=xxx from是给变量赋值、也是sql语句的符合条件值
print @atime //print方法输出显示变量
end
执行:
exec proc_test a表中aid的任意一个值
以后想实现通过输入aid(或者其他列)的值得到atime(或者其他列)的值、就不用一遍一遍的写sql语句
这只是一个简单的应用。如果SQL语句是复杂语句、不是就省事多了?
这个例子只能返回一条记录、如果想返回多条、需要用游标。
这里暂时只给你简单应用、你先理解下。
存储过程是一段存储在系统中可随时使用的可带参数的SQL执行语句或程序段。
使用存储过程可以避免重复的填写SQL语句、可以快速的得到符合条件的某段SQL语句的执行结果。
例子(MSSQL):比如想实现一个表a(aid int,atime datetime)输入aid的值得到对应的atime的值
创建:
create proc proc_test //创建过程
@aid int //定义一个参数(默认为in参数)
as
declare @atime datetime //定义一个变量用于接收返回值(游标在这里定义)
begin
select @atime=atime from a where aid=@aid //select @xxx=xxx from是给变量赋值、也是sql语句的符合条件值
print @atime //print方法输出显示变量
end
执行:
exec proc_test a表中aid的任意一个值
以后想实现通过输入aid(或者其他列)的值得到atime(或者其他列)的值、就不用一遍一遍的写sql语句
这只是一个简单的应用。如果SQL语句是复杂语句、不是就省事多了?
这个例子只能返回一条记录、如果想返回多条、需要用游标。
这里暂时只给你简单应用、你先理解下。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询