如何编写数据库存储过程?
在程序设计的时候,出于安全、效率和扩展性方面的考虑,我们会把很多数据操作都封装为存储过程。
存储过程是已保存的 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,它有一个模板,可以在几秒钟之内为一个数据库所有表生成增删改查的存储过程
如何编写数据库存储过程?相关推荐
- 具体的数据库存储过程的编写
坚持写blog,我来了! 昨天写了点算是数据库存储过程的学习心得,可能是很多做过的人都知道的东西,有经验的达人们多来我这看看,给予指点,同时也欢迎对我blog里东西感兴趣的兄弟们常来看看,共同学习哈! ...
- SQL 数据库 存储过程 视图
一.存储过程 1.概述 存储过程是一组编译在单个执行计划中的T-SQL语句 存储过程:就像函数一样的会保存在数据库中(可编程性) 存储过程的优点: 1.允许模块化程序设计 2.允许更快执行如果某操作需 ...
- 如何编写oracle存储过程
在我的上一个银行项目中,我接到编写ORACLE存储过程的任务,我是程序员,脑袋里只有一些如何使用CALLABLE接口调用存储过程的经验,一时不知如何下手,我查阅了一些资料,通过实践发现编写ORACLE ...
- mysql过程异常处理_mysql数据库存储过程异常处理
14.1.4 定义条件和处理程序 定义条件和处理程序是事先定义程序执行过程中可能遇到的问题.并且可以在处理程序中定义解决这些问题的办法.这种方式可以提前预测可能出现的问题, 并提出解决办法.这样可以 ...
- JDBC对MySQL数据库存储过程的调用
一.MySQL数据库存储过程: 1.什么是存储过程 存储过程(英文:Stored Procedure)是在大型数据库系统中,为了完毕特定功能而编写的一组的SQL语句集.存储过程经编译存储在数据库中.用 ...
- 使用shell脚本调用mysql数据库存储过程,并设置定时任务
本来是要mysql数据库中创建事件任务来,定时执行存储过程,做数据传输的...后来由于种种原因,就使用crontab来定时执行,调用存储过程. 实现这个数据传输分为两步: 第一步:编写shell脚本调 ...
- jdbc存储过程mysql_JDBC对MySQL数据库存储过程的调用
1.什么是存储过程 存储过程(英文:Stored Procedure)是在大型数据库系统中,为了完成特定功能而编写的一组的SQL语句集.存储过程经编译存储在数据库中,用户通过指定存储过程的名字并给出参 ...
- 这周的工作任务,编写sql存储过程
主要就是编写一些存储过程,先来引用别人的文章,让我们了解下存储过程和它的语法. 引用自.net BI的文章 存储过程就是作为可执行对象存放在数据库中的一个或多个SQL命令. 定义总是很抽象.存 ...
- 让你提前认识软件开发(28):数据库存储过程中的重要表信息的保存及相关建议...
第2部分 数据库SQL语言 数据库存储过程中的重要表信息的保存及相关建议 1. 存储过程中的重要表信息的保存 在非常多存储过程中,会涉及到对表数据的更新.插入或删除等,为了防止改动之后的表数据出现故障 ...
最新文章
- 【转载】ATI显卡在Ubuntu下设置方法(很全面)
- android TextView 带滚动条,和ScrollView 用法(暂时觉得ScrollView滑动速度比较快)
- LeetCode: Maximum Product Subarray
- 天合汽车安全技术(张家港)有限公司
- 深度解密Go语言之sync.pool
- c语言选择排序_冒泡、插入、选择排序(C语言)
- Android的四大组件
- Android 第二十课 广播机制(大喇叭)----发送自定义广播(包括发送标准广播和发送有序广播)
- 白话解说TCP/IP协议三次握手和四次挥手
- IE overflow:hidden失效的解决方法:
- matlab 信号与系统(一)—— 上采样(Upsampling)和下采样(Downsampling)
- 【安装包】MySQL客户端
- centos7配置php-fpm,centos7 配置php-fpm
- sql根据身份证计算年龄
- 刘永鑫报告|微生物组数据分析与科学传播(晚7点半)
- Tri Tiling·递推
- springboot整合德鲁伊
- Python——字典类型理论及应用实例
- 评估指标nlg-eval安装包踩坑
- 产品负责人 VS 产品经理