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. 什么是事务?MySQL如何支持事务?

    什么是事务? 事务是由一步或几步数据库操作序列组成逻辑执行单元,这系列操作要么全部执行,要么全部放弃执行.程序和事务是两个不同的概念.一般而言:一段程序中可能包含多个事务.(说白了就是几步的数据库操作 ...

  2. SDRAM学习(一)之刷新心得

    本篇博文共有两种刷新方式 SDRAM数据手册给出每隔64ms就要将所有行刷新一遍, 因此每隔64_000_000 ns/2^12=15625ns 就要刷新一次.(因为一个L-Bank的行是12位,所以 ...

  3. TopK-微博今日热门话题

    大纲 TopK on single node TopK on multiple nodes Realtime topK with low QPS Realtime topK with high QPS ...

  4. vue tradingView(二)

    tradingView 一些配置问题 tradingView 一些配置问题 javascript Demo_Hu 4月17日提问 · 4月17日更新 9 关注 1 收藏,993 浏览 问题对人有帮助, ...

  5. Python面向对象之类的继承(2)

    1.除了封装,Python面向对象还有继承这一功能,如下代码,这是简单的继承功能. class Animal: def chi(self): print(self.name+' 吃') def he( ...

  6. ZigBee学习二 LED点对点通信

    ZigBee学习二 LED点对点通信 终端上电后,自动连接协调器进行组网,成功后,开始发送LED字符数据.当协调器接收到数据后,终端和协调器的LED1都开始闪烁. 工程搭建和文件添加 步骤这里就省了. ...

  7. iOS中block 静态全局局部变量block变量,以及对象,详解!

    //最近总是犯迷糊,关于block对外部变量的引用,今天有时间就写了一下,加深自己的理解,巩固基础知识 1 #import <Foundation/Foundation.h> ; int ...

  8. CSS3 基本属性 浅析(含选择器、背景阴影、3D转换、动画等)

    1渐进增强原则 2私有前缀  不同浏览器在发布不同版本(一般测试版)时会加前缀,新增属性加上前缀进行支持测试:     Chrome浏览器:-webkit-border-radius: 5px;   ...

  9. hdoj 4293 Groups

    Groups Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Subm ...

  10. linux之软硬链接【转】

    链接---------是一种在共享文件和访问它的用户的若干目录项之间建立联系的一种方法. Linux中包括两种链接:硬链接(Hard Link)和软链接(Soft Link),软链接又称为符号链接(S ...