sqlserver存储过程
2022/4/29 2:12:38
本文主要是介绍sqlserver存储过程,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
1、什么是存储过程?
存储过程可以理解为是一个函数,函数中可以有参数可以无参数,函数是被调用的时候才会被执行,函数中封装了一组sql语句。
2、存储过程的分类?
不带参数的、待参数的、带返回值的
3、简单代码实例
--创建测试数据
create table books (
book_id int identity(1,1) primary key,
book_name varchar(20),
book_price float,
book_auth varchar(10)
);
--插入测试数据
insert into books (book_name,book_price,book_auth)
values
('论语',25.6,'孔子'),
('天龙八部',25.6,'金庸'),
('雪山飞狐',32.7,'金庸'),
('平凡的世界',35.8,'路遥'),
('史记',54.8,'司马迁');
select * from books;
--创建无参数的存储过程
create procedure getAllBooks
as
select * from books;
--调用无参存储过程
exec getAllbooks;
--创建带一个参数的存储过程
create procedure getBookById(@BookId int)
as
select * from books where book_id=@BookId;
exec getBookById 2;
--创建带两个参数的存储过程
create procedure getBookByParms
(
@bookid int,
@auth varchar(20)
)
as
select * from books where book_id=@bookid and book_auth=@auth;
exec getBookByParms 2,'金庸';
--创建带返回值的存储过程
create procedure getBookid
(
@auth varchar(20),--输入参数
@bookid int output--返回值
)as
select @bookid=book_id from books where book_auth=@auth;
declare @id int--声明一个变量,接受存储过程返回值
exec getBookid '金庸',@id output
select @id as bookid;--给变量ID取个名字叫bookid
--上面三行同时执行,这里涉及到变量的作用域。
这篇关于sqlserver存储过程的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-01-08Docker下的SqlServer发布订阅启用
- 2023-06-05Docker安装MS SQL Server并使用Navicat远程连接
- 2023-05-25深入浅出 SQL Server CDC 数据同步
- 2023-05-12通过空间占用和执行计划了解SQL Server的行存储索引
- 2023-04-24以SQLserver为例的Dapper详细讲解
- 2022-11-30SQL server高级函数查询
- 2022-11-26SQL SERVER数据库服务器CPU不能全部利用原因分析
- 2022-11-21SQL Server 时间算差值/常用函数
- 2022-11-20调试Archery连接SQL Server提示驱动错误
- 2022-10-22SQL Server 完整、差异备份+完整、差异还原(详细讲解,规避错误)