ylbtech-SQL Server:SQL Server-了解存储过程

了解存储过程

ylb:了解存储过程 返回顶部
存储过程

2.2.1 主要的编程结构:

  • 变量
  • 数据类型
  • 输入/输出变量
  • 返回值
  • 条件执行
  • 循环
  • 注释
2.2.3 存储过程的结构
存储过程的代码有头部(header)和主体(body)组成。存储过程的头部定义了存储过程的外部属性——名称和包含一个或多个参数 的参数列表。参数名称必须以@字符开始。开发人员必须定义每个参数的数据类型。头部必须以Create Procedure关键字开始 ,以As关键字结尾。
存储过程的主体包含存储过程运行时将要执行的各个T-SQL语句。
2.3.2 命名对象和变量

  • 实体描述
  • 名称长度
  • 缩写
  • 名称格式化
常用单词缩写

  • Current=Crnt
  • Address=Adr
  • Erorr=Err
  • Average=Avg
数据库对象

  • 基本部分,描述了对象的内容。
  • 前缀,描述了数据库对象的类型
数据库对象 前缀 例子
Table (无前缀) Activities
Column (无前缀) ActivityId
View v vActivities
Stored procedure pr prCompleteOrder
Trigger tr trOrder_IU
Default df dfToday
Rule rul rulCheckZIP
Index ix ix_LastName
Primary key pk pk_contactId
Foreign key fk fk_Order_OrderType
User-defined data type udt udtPhone
User-defined functions fn fbDueDates
触发器(名称有2部分组成)

  • 前缀(tr),描述了数据对象的类型。
  • 基本部分,描述了触发器所附加的表。
  • 后缀,显示了修改语句(Insert, Update以及Delete)
3.1.2 存储过程具有以下功能:

  • 返回信息给调用者(caller)。
  • 修改数据库中的数据。
  • 在数据层实现业务逻辑。
  • 控制数据访问权限。
  • 改善系统性能。
  • 降低网络流量。
  • 执行其他动作和操作(比如处理电子邮件、执行各种系统操作命令和进程、管理其他的SQL Server对象。)
从存储过程接受信息的4个途径:

  • 结果集
  • 输出参数
  • 返回值
  • 全局游标

3.2 存储过程类型

  • 用户定义
  • 系统
  • 扩展
  • 临时
  • 全局临时
  • 远程
还有几个数据库对象,它们在本质上非常相似:

  • 触发器
  • 视图
  • 用户定义函数
作者:ylbtech
出处:http://ylbtech.cnblogs.com/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

ylb:了解存储过程的更多相关文章

  1. ylb:SQL 存储过程(Procedure)

    ylbtech-SQL Server: SQL Server-SQL 存储过程(Procedure) 1,存储过程(Procedure)-基本创建与操作 2,存储过程(Procedure)-入参 3, ...

  2. ylb:SQLServer常用系统函数-字符串函数、配置函数、系统统计函数

    原文:ylb:SQLServer常用系统函数-字符串函数.配置函数.系统统计函数 ylbtech-SQL Server:SQL Server-SQLServer常用系统函数 -- ========== ...

  3. 将表里的数据批量生成INSERT语句的存储过程 增强版

    将表里的数据批量生成INSERT语句的存储过程 增强版 有时候,我们需要将某个表里的数据全部或者根据查询条件导出来,迁移到另一个相同结构的库中 目前SQL Server里面是没有相关的工具根据查询条件 ...

  4. Dapper逆天入门~强类型,动态类型,多映射,多返回值,增删改查+存储过程+事物案例演示

    Dapper的牛逼就不扯蛋了,答应群友做个入门Demo的,现有园友需要,那么公开分享一下: 完整Demo:http://pan.baidu.com/s/1i3TcEzj 注 意 事 项:http:// ...

  5. MySQL主从环境下存储过程,函数,触发器,事件的复制情况

    下面,主要是验证在MySQL主从复制环境下,存储过程,函数,触发器,事件的复制情况,这些确实会让人混淆. 首先,创建一张测试表 mysql),age int); Query OK, rows affe ...

  6. mysql进阶之存储过程

    往往看别人的代码会有这样的感慨: 看不懂 理还乱 是离愁 别是一番滋味在心头 为什么要使用存储过程? 在mysql开发中使用存储过程的理由: 当希望在不同的应用程序或平台上执行相同的函数,或者封装特定 ...

  7. MySQL 系列(三)你不知道的 视图、触发器、存储过程、函数、事务、索引、语句

    第一篇:MySQL 系列(一) 生产标准线上环境安装配置案例及棘手问题解决 第二篇:MySQL 系列(二) 你不知道的数据库操作 第三篇:MySQL 系列(三)你不知道的 视图.触发器.存储过程.函数 ...

  8. 参数探测(Parameter Sniffing)影响存储过程执行效率解决方案

    如果SQL query中有参数,SQL Server 会创建一个参数嗅探进程以提高执行性能.该计划通常是最好的并被保存以重复利用.只是偶尔,不会选择最优的执行计划而影响执行效率. SQL Server ...

  9. MSSQL 事务,视图,索引,存储过程,触发器

    事务 事务是一种机制.是一种操作序列,它包含了一组数据库操作命令,这组命令要么全部执行,要么全部不执行. 在数据库系统上执行并发操作时事务是作为最小的控制单元来使用的.这特别适用于多用户同时操作的数据 ...

随机推荐

  1. 项目实战:CRM客户关系管理系统开发

    21-CRM第一节内容概要 21.1 Stark组件介绍:实现基本的增删改查+自定义复杂操作: 21.2 单例模式:最简单的单例模式: 21.3 路由系统(分发): 21.4 制作启动文件-Djang ...

  2. git+jenkins持续集成一:git上传代码

    先注册一个账号,注册地址:https://github.com/ 记住地址 下载git本地客户端,下载地址:https://git-scm.com/download/win 一路next傻瓜安装,加入 ...

  3. mysql 连接超时的问题

    项目中用mycat做的分表分库,异步通知系统会连接mycat去查数据库数据,有时会抛异常提示mysql server has gone away.最初以为是mycat的问题,在修改了mycat的配置, ...

  4. sun.misc.BASE64Encoder()编码有换行符需要手动去除passwordEncode.replace("\n","");

    String passwordEncode = new BASE64Encoder().encodeBuffer(password.getBytes());//sun.misc.BASE64Encod ...

  5. thinkphp框架中使用递归实现无限级分类

    无限级分类在我们开发中显得举足轻重,会经常被人问到,而一般会用递归的方法来实现,但是递归又会难倒一批人.今天博主分享的这个稍微有点基础的phper都能学会,希望大家能喜欢. 一.先建立对应的数据库和表 ...

  6. IIS8 不能在此路径中使用此配置节。如果在父级别上锁定了该节

    问题: 不能在此路径中使用此配置节.如果在父级别上锁定了该节,便会出现这种情况.锁定是默认设置的(overrideModeDefault="Deny"),或者是通过包含 overr ...

  7. BZOJ-1043 [HAOI2008]下落的圆盘

    几何题... 先把所有圆储存起来,然后对于每个圆我们求得之后放下的圆挡住了的部分,求个并集,并把没被挡到的周长加进答案. #include <cstdlib> #include <c ...

  8. Linux脚本中调用SQL,RMAN脚本

    Linux/Unix shell脚本中调用或执行SQL,RMAN 等为自动化作业以及多次反复执行提供了极大的便利,因此通过Linux/Unix shell来完成Oracle的相关工作,也是DBA必不可 ...

  9. SpringTest(一)

     SpringMvcTest总结: 最近要做单元测试,所以选择的是SpringTest这个测试框架. 1.准备工作.(导入jar包)   因为使用Maven管理jar包,所以在要做单元测试的模块中的p ...

  10. poj 3261 Milk Patterns 后缀数组 + 二分

    题目链接 题目描述 给定一个字符串,求至少出现 \(k\) 次的最长重复子串,这 \(k\) 个子串可以重叠. 思路 二分 子串长度,据其将 \(h\) 数组 分组,判断是否存在一组其大小 \(\ge ...