在程序设计的时候,出于安全、效率和扩展性方面的考虑,我们会把很多数据操作都封装为存储过程。

存储过程是已保存的 Transact-SQL 语句集合,或对 Microsoft .NET Framework 公共语言运行时 (CLR) 方法的引用,可接收并返回用户提供的参数。可以创建过程供永久使用,或在一个会话(局部临时过程)中临时使用,或在所有会话(全局临时过程)中临时使用。

启动 SQL Server 的一个实例时,也可以创建并自动运行存储过程。

存储过程现在可以利用T-SQL和托管代码两种方式编写。下面我们主要看看如何使用T-SQL语句快速地编写存储过程

我们来看一下基本语法

CREATE { PROC | PROCEDURE } [schema_name.] procedure_name [ ; number ]     [ { @parameter [ type_schema_name. ] data_type }         [ VARYING ] [ = default ] [ OUT | OUTPUT ]     ] [ ,...n ]
[ WITH <procedure_option> [ ,...n ] ]
[ FOR REPLICATION ]
AS { <sql_statement> [;][ ...n ] | <method_specifier> }
[;]
<procedure_option> ::=      [ ENCRYPTION ]     [ RECOMPILE ]     [ EXECUTE_AS_Clause ]<sql_statement> ::= 
{ [ BEGIN ] statements [ END ] }<method_specifier> ::=
EXTERNAL NAME assembly_name.class_name.method_name
但是,是不是说我们真的要一个一个去编写呢?那样的确很繁琐,尤其对于业务逻辑不是很复杂的情况下。
第一个方法:善用SQL SERVER自带的工具。以SQL Server 2005为例,我们可以通过SQL SERVER Management Studio的上下文菜单来生成代码
 

INSERT INTO [OrderDB].[dbo].[OrderDetails]
           ([OrderID]
           ,[LineNumber]
           ,[ProductID]
           ,[UnitPrice]
           ,[Quantity])
     VALUES
           (<OrderID, int,>
           ,<LineNumber, tinyint,>
           ,<ProductID, int,>
           ,<UnitPrice, decimal(18,2),>
           ,<Quantity, int,>)

稍加修改就可以变成一个存储过程(Insert操作)

第二个方法:善用第三方工具。我这里推荐一个产品是CodeSmith,它有一个模板,可以在几秒钟之内为一个数据库所有表生成增删改查的存储过程
 
 
 

如何编写数据库存储过程?相关推荐

  1. 具体的数据库存储过程的编写

    坚持写blog,我来了! 昨天写了点算是数据库存储过程的学习心得,可能是很多做过的人都知道的东西,有经验的达人们多来我这看看,给予指点,同时也欢迎对我blog里东西感兴趣的兄弟们常来看看,共同学习哈! ...

  2. SQL 数据库 存储过程 视图

    一.存储过程 1.概述 存储过程是一组编译在单个执行计划中的T-SQL语句 存储过程:就像函数一样的会保存在数据库中(可编程性) 存储过程的优点: 1.允许模块化程序设计 2.允许更快执行如果某操作需 ...

  3. 如何编写oracle存储过程

    在我的上一个银行项目中,我接到编写ORACLE存储过程的任务,我是程序员,脑袋里只有一些如何使用CALLABLE接口调用存储过程的经验,一时不知如何下手,我查阅了一些资料,通过实践发现编写ORACLE ...

  4. mysql过程异常处理_mysql数据库存储过程异常处理

    14.1.4  定义条件和处理程序 定义条件和处理程序是事先定义程序执行过程中可能遇到的问题.并且可以在处理程序中定义解决这些问题的办法.这种方式可以提前预测可能出现的问题, 并提出解决办法.这样可以 ...

  5. JDBC对MySQL数据库存储过程的调用

    一.MySQL数据库存储过程: 1.什么是存储过程 存储过程(英文:Stored Procedure)是在大型数据库系统中,为了完毕特定功能而编写的一组的SQL语句集.存储过程经编译存储在数据库中.用 ...

  6. 使用shell脚本调用mysql数据库存储过程,并设置定时任务

    本来是要mysql数据库中创建事件任务来,定时执行存储过程,做数据传输的...后来由于种种原因,就使用crontab来定时执行,调用存储过程. 实现这个数据传输分为两步: 第一步:编写shell脚本调 ...

  7. jdbc存储过程mysql_JDBC对MySQL数据库存储过程的调用

    1.什么是存储过程 存储过程(英文:Stored Procedure)是在大型数据库系统中,为了完成特定功能而编写的一组的SQL语句集.存储过程经编译存储在数据库中,用户通过指定存储过程的名字并给出参 ...

  8. 这周的工作任务,编写sql存储过程

    主要就是编写一些存储过程,先来引用别人的文章,让我们了解下存储过程和它的语法. 引用自.net BI的文章 存储过程就是作为可执行对象存放在数据库中的一个或多个SQL命令.     定义总是很抽象.存 ...

  9. 让你提前认识软件开发(28):数据库存储过程中的重要表信息的保存及相关建议...

    第2部分 数据库SQL语言 数据库存储过程中的重要表信息的保存及相关建议 1. 存储过程中的重要表信息的保存 在非常多存储过程中,会涉及到对表数据的更新.插入或删除等,为了防止改动之后的表数据出现故障 ...

最新文章

  1. 【转载】ATI显卡在Ubuntu下设置方法(很全面)
  2. android TextView 带滚动条,和ScrollView 用法(暂时觉得ScrollView滑动速度比较快)
  3. LeetCode: Maximum Product Subarray
  4. 天合汽车安全技术(张家港)有限公司
  5. 深度解密Go语言之sync.pool
  6. c语言选择排序_冒泡、插入、选择排序(C语言)
  7. Android的四大组件
  8. Android 第二十课 广播机制(大喇叭)----发送自定义广播(包括发送标准广播和发送有序广播)
  9. 白话解说TCP/IP协议三次握手和四次挥手
  10. IE overflow:hidden失效的解决方法:
  11. matlab 信号与系统(一)—— 上采样(Upsampling)和下采样(Downsampling)
  12. 【安装包】MySQL客户端
  13. centos7配置php-fpm,centos7 配置php-fpm
  14. sql根据身份证计算年龄
  15. 刘永鑫报告|微生物组数据分析与科学传播(晚7点半)
  16. Tri Tiling·递推
  17. springboot整合德鲁伊
  18. Python——字典类型理论及应用实例
  19. 评估指标nlg-eval安装包踩坑
  20. 产品负责人 VS 产品经理

热门文章

  1. Active Directory 对象授权还原
  2. 上传功能(前后端代码)
  3. COALESCE在SQL拼接中的大用途
  4. DotNet 项目开发文档的自动生成和相关工具的使用
  5. 驰骋工作流引擎设计系列07 线性流程节点运动(发送)设计
  6. 【手把手教你全文检索】Apache Lucene初探
  7. C/C++中__builtin_popcount()的使用及原理
  8. GGTalk ——C#开源即时通讯系统
  9. Web Storage
  10. iOS runtime实用篇:让你快速上手一个项目