SQL 001.02存储过程、创建存储过程(create proc)、带输出参数的存储过程、执行存储过程(exec)

存储过程

建表

在这里插入图片描述

存储过程详解

--SqlServer存储过程
--	【1】创建存储过程
if (OBJECT_ID('proc_get_syudent','p') is not null)	--如果这个存储过程已经存在(则删掉它)
drop proc proc_get_syudent
go
create  proc proc_get_syudent--创建存储过程
as
select * from student;


--执行存储过程
exec proc_get_syudent;


-- 【2】修改存储过程
alter proc proc_get_syudent
as
select * from student where id > 2
--调用执行存储过程,得到返回集(exec或者execute都行)
exec proc_get_syudent;

--【3】带参数的存储过程
if (OBJECT_ID('proc_get_syudent','p') is not null)
drop proc proc_get_syudent
go
create proc proc_find_stu(@stratId int,@endId int)--两个参数
as
select * from student where id between @stratId and @endId	--查询语句
go
--执行/调用 带参数的存储过程
exec proc_find_stu 4,5;

--【4】执行带通配符参数的存储过程

--如果已经存在这个存储过程就删掉这个存储过程
if (OBJECT_ID('proc_find_stuByName','p') is not null)
drop proc proc_get_syudent
go

--创建存储过程
create proc proc_find_stuByName(@name varchar(20)='%j%',@nextName varchar(20)='%')
as 
select * from student where name like @name and name like @nextName;

--调用/执行该存储过程
exec proc_find_stuByName;

exec proc_find_stuByName '%欧%';
exec proc_find_stuByName '%浪%';
exec proc_find_stuByName '%浪','%欧%';

--【5】不带参数 插入语句的存储过程(前面的都是查询)
create proc insertStudentTest
as
declare @i1 int		--定义插入表test的数据条数
set @i1=0			--赋初始值
while @i1<10
begin
	insert into student(name,sex,age) values ('测试','男',@i1);
	set @i1=@i1+1
end
--调用存储过程
exec insertStudentTest
--查看是否插入成功了
select* from student

--【6】带输出参数的存储过程

--根据存储过程的入参id条件,输出name
create proc pro2
	@id1 int,	--不写参数类型的话,默认就是输入参数
	@name1 varchar(20) output,	--输出类型的参数
	@sex1 varchar(20) output	--输出类型的参数
as
begin
	select @name1=name,@sex1=sex from student where id=@id1
end
--调用并且查看存储过程返回的数据
declare @name2 varchar(20),@sex2 varchar(20);
exec pro2 @name1=@name2 output,@sex1=@sex2 output,@id1=2
select  @name2,@sex2

实际操作一遍(这里不赘述,自己写)

在这里插入图片描述

  • 5
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值