您当前的位置: 首页 >  sql

SQLServer存储过程详解

杨林伟 发布时间:2019-06-22 14:30:45 ,浏览量:4

基本语法 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语句
关注
打赏
1688896170
查看更多评论

杨林伟

暂无认证

  • 4浏览

    0关注

    3183博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文
立即登录/注册

微信扫码登录

0.1249s