SQLServer存储过程详解

基本语法

1.创建存储过程的基本语法模板

if (exists (select * from sys.objects where name = 'pro_name'))
    drop proc pro_name
go
create proc pro_name
    @param_name param_type [=default_value]
as
begin    
    sql语句
end

注意:[]表示非必写内容。sys.objects存储的是本数据库中的信息,不仅仅存储表名,还有存储过程名 、视图名、触发器等等。

例如:

if (exists (select * from sys.objects where name = 'USP_GetAllUser'))
      drop proc USP_GetAllUser
  go
  create proc USP_GetAllUser
  @UserId int =1
  as 
  begin
      select * from UserInfo where Id=@UserId
 end

注意:SQL Server 实用工具将 GO 解释为应将当前的Transact-SQL 批处理语句发送给 SQL Server 的信号。当前批处理语句是自上一 GO命令后输入的所有语句,若是第一条 GO命令,则是从特殊会话或脚本的开始处到这条GO 命令之间的所有语句。

2.调用方法

exec dbo.USP_GetAllUser 2;

注意:一般在执行存储过程是,最好加上架构名称,例如 dbo.USP_GetAllUser 这样可以可以减少不必要的系统开销,提高性能。 因为如果在存储过程名称前面没有加上架构名称,SQL SERVER首先会从当前数据库sys schema(系统架构)开始查找,如果没有找到,则会去其它schema查找,最后在dbo架构(系统管理员架构)里面查找。

3.查看本数据库中存在的存储过程

依次展开数据库、可编程性、存储过程,即可看到已创建的存储过程。
在这里插入图片描述

4.修改存储过程

alter proc proc_name
as
  sql语句
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值