问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

何为存储过程,举例说明

发布网友 发布时间:2022-04-22 08:04

我来回答

3个回答

热心网友 时间:2022-04-11 18:17

存储过程,实际就是一段写在数据库中的代码。。

由于此段数据库操作代码由服务器完成,而客户端只是进行简单的参数提交,所以,可以有效的利用服务器的强劲而减小对客户机的负合。

如:你想插入一条数据到数据库。

虽然你的要求是,先检查表里面是否己存在该项。

如果不存在就Insert,如果存在就UPDATE。

这个时候,你就可以把这个判断用存储过程来写。

你的程序只要提示你想要保存到数据库里面的东西即可。

下面就是一个简单的存储过程。

CREATE PROCEDURE [insert_A_Employees]
(@fWorkNo [int],
@fWorkName [char](10),
@fDeptName [varchar](20),
@fGroupName [varchar](20),
@fRecordDate [datetime])

AS

declare @iCount int

select @iCount = count(*) from A_EMPLOYEES where @fWorkNo = fWORKNO --统计该工号在数据库的数量赋值给 @iCount

if @iCount = 0 --如果数据库中不存在该工号
begin

INSERT INTO [CLKQ].[dbo].[A_Employees] --则插入数据
( [fWorkNo],
[fWorkName],
[fDeptName],
[fGroupName],
[fRecordDate])

VALUES
( @fWorkNo,
@fWorkName,
@fDeptName,
@fGroupName,
@fRecordDate)

return 1 --返回一个标识

end else begin --否则则更新数据

update [CLKQ].[dbo].[A_Employees]

set [fWorkName]=@fWorkName,
[fDeptName]=@fDeptName,
[fGroupName]=@fGroupName,
[fRecordDate]=@fRecordDate

where [fWorkNo]=@fWorkNo

return 0 --返回一个标识

end
GO

此时你只要在客户端程序提供:

@fWorkNo ,
@fWorkName ,
@fDeptName ,
@fGroupName ,
@fRecordDate

这几个值就行了。。

其它处理过程就由服务器方处理了。

以上是以 SQL 数据库为例。。。

ACCESS 等数据库没有此功能。

参考资料:我忘了在哪找的

热心网友 时间:2022-04-11 19:35

简单的说,存储过程相当于我们平常的函数,只不过是SQL语言来实现
以下为一个简单例子
--创建存储过程(这里只简单示例,当然这里可以写很复杂的逻辑)
create proc proc_student as
select * from student
select * from student where sex='man'
select * from student where sex='woman'
go

--调用存储过程
exec proc_student

热心网友 时间:2022-04-11 21:09

比如你要根据用户的ID.去查看该用户当前是什么级别.然后按不同的级

别.给该用户不同的奖励.

如果不用存储过程.你是不是得先执行一个select语句.然后再根据返回

值执行一个update语句?

好.现在用存储过程.把上述的过程封装起来.你在程序里只需要调用这个

存储过程.只需要把用户ID传参数进去.其它的操作都在数据库端进行了.

不用你的程序再去判断了.
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
ef英语哪个好 EF英孚英语培训怎么样? 英孚英语好不好 EF英孚教育到底好不好 大佬们,麦芒7和荣耀10那个值得入手?2500以下的机子还有啥好推荐的么... 介绍几款2500元以前的手机 像素一定要高 其他的不做要求 近期想入手一部安卓手机,价格2200到2500左右…买HTC desire Z还是 三星... 笔记本忘记开机密码怎么办急死了 笔记本电脑屏幕开机锁忘记密码 怎么办?急死了 华硕笔记本电脑开机密码忘记了怎样找回?系统是Windows 7旗舰版... 存储过程到底是什么! 存储过程的定义? 存储过程是什么?谁能给我详细解答? 存储过程和函数的区别 什么显示控制面板无法改变显示设置? 什么是存储过程?用什么来调用? 数据库中的存储过程是什么 黄码上有关联手机号 什么是存储过程存储过程有什么特点 我手机关联别人的手机号,那我信息是不是他手机也... 关联手机号有什么作用 存储过程的定义 中国移动什么是关联手机号? 什么是存储过程? 百度账号关联手机号有什么用,怎么取消 什么是存储过程?有什么优点? 怎么去除杯子上的茶渍 光遇官服的账号中心里的关联手机号有什么用?之前... 家庭号是要有多个手机号码然后去关联在一起吗? 洗衣店能清洗T恤上的啤酒渍或茶渍吗? 存储过程在数据库中的作用是什么 显示控制面板无法更改显示设置。图形驱动程序返回一个未知的错误。 汽车导航微信公众号都有哪些 在导航时来微信了,导航可以显示在屏幕上方,怎么样... 车载导航怎么下载微信 手机导航时来微信如何看到 netflix必须付费吗? netflix 如何注册 netflix怎么注册 Netflix是不是付费包月后,马上就可以点击开始看了... ps4 pro上的netflix怎么注册啊看不懂英文 netflix新手注册遇到扣费问题 奈飞会员日期是按天算 XBOX金会员Netflix 西瓜汁怎么清洗干净? 苹果怎么下载netflix 如何用PayPal在Netflix上购买会员 衣服上的西瓜汁用什么方法能洗掉 衣服粘了西瓜汁可以洗掉吗? 为什么西瓜汁溅到身上洗不掉了?