位置: 编程技术 - 正文
大学里面对存储过程没有讲到什么,工作了一段时间,对存储过程还是没有用到,根本不需要去写存储过程,可能是做的软件方向的原因吧。为了以后发展,决定从零开始学习下。
这里看看存储过程的定义,
存储过程(Stored Procedure),是一组为了完成特定功能的SQL 语句,集经编译后存储在数据库中,用户通过指定存储过程的名字并给出参数,如果该存储过程带有参数来执行。
在SQL Server 的系列版本中,存储过程分为两类:系统提供的存储过程和用户自定义存储过程。
系统SP,主要存储master 数据库中,并以sp_为前缀并且系统存储过程主要是从系统表中获取信息,从而为系统管理员管理SQL Server。
常用系统存储过程有:
用户自定义存储过程是由用户创建,并能完成某一特定功能,如:查询用户所需数据信息的存储过程。
这里我们看看存储过程的好处;
(1)重复使用。存储过程可以重复使用,从而可以减少数据库开发人员的工作量。
(2)提高性能。存储过程在创建的时候就进行了编译,将来使用的时候不用再重新编译。一般的SQL语句每执行一次就需要编译一次,所以使用存储过程提高了效率。
(3)减少网络流量。存储过程位于服务器上,调用的时候只需要传递存储过程的名称以及参数就可以了,因此降低了网络传输的数据量。
(4)安全性。参数化的存储过程可以防止SQL注入式的攻击,而且可以将Grant、Deny以及Revoke权限应用于存储过程。
好了,我们来看看创建的基本语法
注意,在SQL SERVER中,所有用户定义的变量都以“@”开头,OUTPUT关键字表示这个参数是用来输出的,AS之后就是存储过程内容了。只要将以上代码在“查询分析器”里执行一次,SQL SERVER就会在当前数据库中创建一个名为“UserLogin”的存储过程。你可以打开“企业管理器”,选择当前操作的数据库,然后在左边的树型列表中选择"可编程性->存储过程",此时就可以在右边的列表中看到你刚刚创建的存储过程了(如果没有,刷新一下即可)。
看到了在数据中调用存储过程的方法有两种(这里EXEC与EXECUTE等效);
EXEC 过程名 参数值1,参数值2,....
或者
EXEC 参数1=参数值1,参数2=参数值2....
上面我们也看到了。
如果要删除一个存储过程,用drop
像这样
创建这样的存储过程有什么用呢,不是只能在数据中查看赛。
我们在做web或者winform 程序,假设需要个登录,好,我们可以调用用这个存储过程来登录,根据传入的参数,如果查询出来有记录,那么这条记录在数据库中存在,表示登录成功,否则失败。
这样做的目的更加安全,可以防止sql注入。
推荐整理分享关于SQL 存储过程入门基础(基础知识)(sql储存过程),希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:sqlyog存储过程,下列关于sql存储过程的叙述中哪一条是错误的,sql的存储过程在哪,sql储存过程,sql中的存储过程是干嘛用的,sql存储过程什么意思,sql的存储过程在哪,sql 存储过程语句,内容如对您有帮助,希望把文章链接给更多的朋友!
基于Sql Server通用分页存储过程的解决方法 sqlserver分页方式很多,效率吗当到达万级以上就有些吃力了,这里暂时不例出来了sqlserver以上就有了row_number也是一大进步,详情如下参考SqlServer
关于sql server批量插入和更新的两种解决方案 .游标方式1DECLARE@DataNVARCHAR(max)SET@Data='1,tanw;2,keenboy'--Id,NameDECLARE@dataItemNVARCHAR()DECLAREdata_cursorCURSORFOR(SELECT*FROMsplit(@Data,';'))OPENdata_cursorFETCHNEXTFROMdata_cursorI
SQL中的ISNULL函数使用介绍 ISNULL使用指定的替换值替换NULL。语法ISNULL(check_expression,replacement_value)参数check_expression将被检查是否为NULL的表达式。check_expression可以是任何类型的。repl
标签: sql储存过程
本文链接地址:https://www.jiuchutong.com/biancheng/347509.html 转载请保留说明!友情链接: 武汉网站建设