前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >SQL存储过程

SQL存储过程

作者头像
小语雀网
发布2021-09-08 15:01:49
发布2021-09-08 15:01:49
89500
代码可运行
举报
文章被收录于专栏:小语雀网小语雀网
运行总次数:0
代码可运行

什么是存储过程? 存储过程可以说是一个记录集吧,它是由一些T-SQL语句组成的代码块,这些T-SQL语句代码像一个方法一样实现一些功能(对单表或多表的增删改查),然后再给这个代码块取一个名字,在用到这个功能的时候调用他就行了。

存储过程的好处? 1.由于数据库执行动作时,是先编译后执行的。然而存储过程是一个编译过的代码块,所以执行效率要比T-SQL语句高。 2.一个存储过程在程序在网络中交互时可以替代大堆的T-SQL语句,所以也能降低网络的通信量,提高通信速率。 3.通过存储过程能够使没有权限的用户在控制之下间接地存取数据库,从而确保数据的安全。

首先创建一个数据表TestTable

代码语言:javascript
代码运行次数:0
运行
复制
CREATE TABLE TestTable(
 [Id] [int] IDENTITY(1,1) NOT NULL,
 [UserName] [nvarchar](50) NULL,
 [Subject] [nvarchar](50) NULL,
 [Source] [numeric](18, 0) NULL
) ON [PRIMARY]
go
INSERT INTO TestTable ([UserName],[Subject],[Source]) 
 SELECT N'张三',N'语文',60 UNION ALL
 SELECT N'李四',N'数学',70 UNION ALL
 SELECT N'王五',N'英语',80 UNION ALL
 SELECT N'王五',N'数学',75 UNION ALL
 SELECT N'王五',N'语文',57 UNION ALL
 SELECT N'李四',N'语文',80 UNION ALL
 SELECT N'张三',N'英语',100
GO

创建完成后直接进行查询

代码语言:javascript
代码运行次数:0
运行
复制
select * from TestTable

下面将使用存储过程进行增删改查操作

代码语言:javascript
代码运行次数:0
运行
复制
--创建存储过程
CREATE PROCEDURE 存储过程名称
AS
需要查询的SQL语句
GO
--调用存储过程
EXECUTE 存储过程名称
--删除存储过程
drop procedure 存储过程名称

1、查询数据

代码语言:javascript
代码运行次数:0
运行
复制
CREATE PROCEDURE GetList
AS
select * from TestTable
GO
exec GetList

2、根据条件查询数据

代码语言:javascript
代码运行次数:0
运行
复制
create Procedure GetList
@Id nchar(20)
as
select * from TestTable where Id=@Id
go
exec GetList 1

3、插入数据

代码语言:javascript
代码运行次数:0
运行
复制
create Procedure InsertList
@UserName nchar(20),
@Subject nchar(20),
@Source int
as
insert into TestTable (UserName,Subject,Source) values(@UserName,@Subject,@Source)
go
exec InsertList '扯淡','天文',100

4、删除数据

代码语言:javascript
代码运行次数:0
运行
复制
create procedure delList
@Id int
as
delete TestTable where Id=@Id
go
exec delList 8

5、修改数据

代码语言:javascript
代码运行次数:0
运行
复制
create procedure UpdateList
@Id int,
@UserName nchar(20)
as
update TestTable set UserName=@UserName where Id=@Id
go
exec UpdateList 7,'张三三'
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021-04-19 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档