VC驿站

 找回密码
 加入驿站

QQ登录

只需一步,快速开始

搜索
查看: 326|回复: 12

VC++高级班之数据库篇[15]---ADO编程之存储过程

[复制链接]
51_avatar_middle
online_admins 发表于 2019-1-4 04:11:28 | 显示全部楼层 |阅读模式
①、什么是存储过程?
存储过程(Stored Procedure)是数据库系统中,一组为了完成特定功能的SQL语句集,
经编译后存储在数据库中,用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它。
在数据库系统中,存储过程和触发器具有很重要的作用。无论是存储过程还是触发器,都是SQL 语句和流程控制语句的集合。
===================================================
②、为什么要用存储过程?
优点:
1、存储过程只在创造时进行编译,以后每次执行存储过程都不需再重新编译,而一般SQL语句每执行一次就编译一次,所以使用存储过程可提高数据库执行速度。
2、当对数据库进行复杂操作时(如对多个表进行 Update,Insert,Query,Delete时),可将此复杂操作用存储过程封装起来与数据库提供的事务处理结合一起使用。
3、存储过程可以重复使用,可减少数据库开发人员的工作量(复用性高,面向对象的编程思想)
4、安全性高,可设定只有某些用户才具有对指定存储过程的使用权。

缺点:
1、调试麻烦,但是用 PL/SQL Developer 调试很方便!弥补这个缺点。
2、移植问题,数据库端代码当然是与数据库相关的。但是如果是做工程型项目,基本不存在移植问题。
3、重新编译问题,因为后端代码是运行前编译的,如果带有引用关系的对象发生改变时,受影响的存储过程、将需要重新编译(不过也可以设置成运行时刻自动编译)。
4、如果在一个程序系统中大量的使用存储过程,到程序交付使用的时候随着用户需求的增加会导致数据结构的变化,
接着就是系统的相关问题了,最后如果用户想维护该系统可以说是很难很难、而且代价是空前的,维护起来更麻烦。

世间所有事物都有两面性,存储过程既有它的优点也有缺点,所以,我们不能盲目的完全使用存储过程,也不能将其打入冷宫不去用。
根据具体的项目,根据实际情况去决定如何使用存储过程,最重要的就是不要过度,平衡就好。
===================================================
③、结合实例:
在本出租系统历程中,实现过函数 QueryDVDId 和 QueryDVDName,用于通过影碟的名字(sDVDName)查询tbDVDInfo表,获得该影碟的编号sDVDID以及一个相反的过程。
考虑到这两个函数的使用率非常高,所以如果为他们创建存储过程的话将会提高效率。

===================================================
④、存储过程相关代码!


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
教程在线观看地址:
https://www.bilibili.com/video/av39752566/?p=15
MP4高清视频下载地址:链接:https://pan.baidu.com/s/1vqFGfZgrlh-1Ek9wRh8jjw 提取码:4fqo
本节课件下载(回复后可见):
游客,如果您要查看本帖隐藏内容请回复

备注:VIP会员可免费下载本站所有资源(点击查看)
提示:通过购买VC驿站U盘打包(点击查看)也可加入终身Vip会员^_^





上一篇:VC++高级班之数据库篇[14]---ADO编程之事务处理
下一篇:VC++高级班之数据库篇[16]---ADO编程之触发器
46_avatar_middle
在线会员 发表于 2019-1-11 01:15:36 | 显示全部楼层
每天进步一点!
56_avatar_middle
在线会员 发表于 2019-1-11 09:09:56 | 显示全部楼层

每天进步一点!
78_avatar_middle
在线会员 发表于 2019-1-11 09:17:17 | 显示全部楼层
非常不错,谢谢
87_avatar_middle
在线会员 发表于 2019-1-11 10:36:56 | 显示全部楼层
老大你这些教程都开放了呀
22_avatar_middle
在线会员 发表于 2019-1-11 16:43:55 | 显示全部楼层
VC++高级班之数据库篇[15]---ADO编程之存储过程VC++高级班之数据库篇[15]---ADO编程之存储过程VC++高级班之数据库篇[15]---ADO编程之存储过程
71_avatar_middle
在线会员 发表于 2019-1-17 22:32:11 | 显示全部楼层
看看学习一下,
95_avatar_middle
在线会员 发表于 2019-2-18 01:36:09 | 显示全部楼层
感谢老大的无私奉献!!!
20_avatar_middle
在线会员 发表于 2019-2-22 12:39:26 | 显示全部楼层
顶一下 +UVC++高级班之数据库篇[15]---ADO编程之存储过程
98_avatar_middle
在线会员 发表于 2019-2-23 20:31:13 | 显示全部楼层
感谢老大的无私奉献
61_avatar_middle
在线会员 发表于 2019-2-24 19:44:18 | 显示全部楼层

每天进步一点!
80_avatar_middle
在线会员 发表于 2019-3-3 16:03:25 | 显示全部楼层
VC++高级班之数据库篇[15]---ADO编程之存储过程 [修改]
85_avatar_middle
在线会员 发表于 2019-3-12 16:10:24 | 显示全部楼层
感谢分享,学习一下!
您需要登录后才可以回帖 登录 | 加入驿站 qq_login

本版积分规则

关闭

站长提醒上一条 /2 下一条

QQ|小黑屋|手机版|VC驿站 ( 辽ICP备09019393号tongdun|网站地图wx_jqr

GMT+8, 2019-3-21 10:57

Powered by Discuz! X3.4

© 2009-2019 cctry.com

快速回复 返回顶部 返回列表