位置: 编程技术 - 正文

SQL Server存储过程入门学习(sqlserver存储过程if语句)

编辑:rootadmin

存储过程的定义,

存储过程(Stored Procedure),是一组为了完成特定功能的SQL 语句,集经编译后存储在数据库中,用户通过指定存储过程的名字并给出参数,如果该存储过程带有参数来执行。在SQL Server 的系列版本中,存储过程分为两类:系统提供的存储过程和用户自定义存储过程。系统SP,主要存储master 数据库中,并以sp_为前缀并且系统存储过程主要是从系统表中获取信息,从而为系统管理员管理SQL Server。用户自定义存储过程是由用户创建,并能完成某一特定功能,如:查询用户所需数据信息的存储过程。

这里我们看看存储过程的好处;

(1)重复使用。存储过程可以重复使用,从而可以减少数据库开发人员的工作量。(2)提高性能。存储过程在创建的时候就进行了编译,将来使用的时候不用再重新编译。一般的SQL语句每执行一次就需要编译一次,所以使用存储过程提高了效率。(3)减少网络流量。存储过程位于服务器上,调用的时候只需要传递存储过程的名称以及参数就可以了,因此降低了网络传输的数据量。(4)安全性。参数化的存储过程可以防止SQL注入式的攻击,而且可以将Grant、Deny以及Revoke权限应用于存储过程。

好了,我们来看看创建的基本语法

定义存储过程的语法

CREATEPROC[EDURE]存储过程名@参数1数据类型=默认值,…… ,@参数n数据类型OUTPUTASSQL语句GO参数是可选的参数分为输入参数、输出参数输入参数允许有默认值这里来创建一个简单的存储过程

CREATE PROCEDURE UserLogin@name varchar(),@password varchar()AS-- 定义一个临时用来保存密码的变量--DECLARE @strPwd NVARCHAR() 这里先不介绍变量。稍后的文章会详细讲到BEGINselect * from userinfo where userName=@name and userPass=@passwordENDGO首先我们用简单的sql查询select * from userinfo where userName='admin'查询结果:---------------------UserName UserPassAdmin Admin

现在我们来执行我们的存储过程exec UserLogin admin,admin--或这样调用:EXEC UserLogin @name='admin',@password='admin'

查询结果:---------------------UserName UserPassAdmin Admin

注意,在SQL SERVER中,所有用户定义的变量都以“@”开头,OUTPUT关键字表示这个参数是用来输出的,AS之后就是存储过程内容了。只要将以上代码在“查询分析器”里执行一次,SQL SERVER就会在当前数据库中创建一个名为“UserLogin”的存储过程。你可以打开“企业管理器”,选择当前操作的数据库,然后在左边的树型列表中选择"可编程性->存储过程",此时就可以在右边的列表中看到你刚刚创建的存储过程了(如果没有,刷新一下即可)。看到了在数据中调用存储过程的方法有两种(这里EXEC与EXECUTE等效);

EXEC过程名 参数值1,参数值2,....

或者

EXEC 参数1=参数值1,参数2=参数值2....

上面我们也看到了。

创建这样的存储过程有什么用呢,不是只能在数据中查看赛。我们在做web或者winform 程序,假设需要个登录,好,我们可以调用用这个存储过程来登录,根据传入的参数,如果查询出来有记录,那么这条记录在数据库中存在,表示登录成功,否则失败。这样做的目的更加安全,可以防止sql注入。

推荐整理分享SQL Server存储过程入门学习(sqlserver存储过程if语句),希望有所帮助,仅作参考,欢迎阅读内容。

SQL Server存储过程入门学习(sqlserver存储过程if语句)

文章相关热门搜索词:sqlserver存储过程怎么查看,sqlserver存储过程怎么查看,SQL Server存储过程不能够立即访问数据库,sqlserver存储过程在哪里,sqlserver存储过程语法,sqlserver存储过程语法,sqlserver存储过程if语句,SQL Server存储过程不能够立即访问数据库,内容如对您有帮助,希望把文章链接给更多的朋友!

清除SQL SERVER错误日志出现操作系统错误的解决方法 之前在UAT环境搭建的SQLSERVERR2数据库一直用得比较正常,但最近发现在Sharepoint中不能进行任何操作了,开始以为是什么配置出了问题(因为一直在研

DDL、DML和DCL的区别与理解 DML、DDL、DCL区别.总体解释:DML(datamanipulationlanguage):它们是SELECT、UPDATE、INSERT、DELETE,就象它的名字一样,这4条命令是用来对数据库里的数据进行

执行一条sql语句update多条记录实现思路 通常情况下,我们会使用以下SQL语句来更新字段值:UPDATEmytableSETmyfield='value'WHEREother_field='other_value';但是,如果你想更新多行数据,并且每行记录的各

标签: sqlserver存储过程if语句

本文链接地址:https://www.jiuchutong.com/biancheng/347176.html 转载请保留说明!

上一篇:如何控制SQLServer中的跟踪标记(如何控制自己不磨牙)

下一篇:清除SQL SERVER错误日志出现操作系统错误的解决方法(删除sql server2019)

  • 哪些情况下可以无偿提供法律援助
  • 餐饮个体户如何开票
  • 软件产品即征即退备案资料
  • 关税的计算公式是什么
  • 单位历史遗留问题
  • 什么原始凭证可以填写
  • 材料入库的会计分录材料采购损失
  • 个体工商户个税怎么申报
  • 有营业额有成本怎么算成本占比
  • 房屋折旧计提完成价格还能调整吗
  • 购买方已抵扣开具红字信息表之后做账需要什么原始凭证
  • 防伪税控开具发票明细表
  • 税法关于开具发票的规定
  • 私房装修费能在公司报销吗
  • 提取公积金收费比例
  • 建筑业出售废旧电脑取的收入如何申报
  • 商场积分兑换现金怎么用
  • 酒生产车间
  • 堤围工程
  • 个人所得税违约怎么查询
  • 红字信息表没有编号
  • 个人所得税纳税比例
  • 管理费用怎么记忆
  • 其他应付款不需要支付是债务重组么
  • 淘宝店铺毛利率多少是正常
  • 停车费可以抵扣吗合法吗
  • 帮别人公司过账100万,再转30回给他
  • 企业出口退税款属于征收企业所得税么
  • 企业买的商业保险退款怎么做账
  • 分公司应收款转总公司会计分录?
  • 法人垫付现金的原始凭证
  • 去年多计提的个税如何处理
  • PHP Warning:PHP Startup: in Unknown on line 0解决办法
  • Win10 Build 19044.1319(21H1)预览版发布:修复 Bug提高安全性
  • win7纯净版怎么联网
  • hpp是什么文件
  • 付的押金冲抵部分怎么算
  • 携税宝续费
  • 失业保险稳岗补贴是什么意思
  • php数组函数,选班长
  • 应退税款抵扣欠税款的账务处理
  • idea添加web项目
  • php throw
  • zendframework3中文手册
  • Yii2中hasOne、hasMany及多对多关联查询的用法详解
  • 捷税宝被稽查了吗
  • 训练自己的GPT
  • c++如何给指针赋值
  • 圣诞节英文祝福语50字
  • 管理费用科目核算的内容
  • 公允价值计量转权益法例题
  • 单位购图书怎么入账
  • 收付转凭证和记帐凭证的区别?
  • 固定资产科目代码是多少
  • mysql error!
  • 职工工伤住院期间的各项费用由谁负责
  • 收到工程款怎么记账
  • 现金进货账务处理
  • 没有进货发票可以开票吗?
  • 总结下半年工作计划
  • 在幻灯片母版中
  • windows 2003 iis+php5+mysql+phpmyadmin 详细安装配置
  • Win10笔记本如何重装系统
  • xp系统如何设置
  • ubuntu启动conda
  • 新手教程进不去
  • manager是啥
  • Linux基本命令使用
  • w8系统文件夹怎么设置密码
  • unix2dos命令
  • 如何显示文件后缀名
  • editplus怎么配置java
  • 怎么利用python爬虫爬数据
  • python使用pymysql实现操作mysql
  • python 举例
  • 湖南省税务局发票辨伪系统
  • 分红太多
  • 怎么查了?
  • 大兴区地方税务局
  • 建立高效的法治实施体系,需要着力解决四个问题
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设