附上SQL Server的存储过程例子
代码如下,看了就明白:
--添加项目大类存储过程
use chaiqianD2
go if object_id('p_InsertBigType', 'p') is not null
drop procedure p_InsertBigType go
create procedure p_InsertBigType
@Name nvarchar(50) --[大类名称]
as
begin
insert into
[项目大类]([大类名称])
values(@name)
end
2、稍微难点滴,大部分都用不上吧
--添加户主和家庭信息
USE chaiqianD2 IF OBJECT_ID('p_InsertFamilyMember', 'p') IS NOT NULL
DROP PROCEDURE p_InsertFamilyMember GO
CREATE PROCEDURE p_InsertFamilyMember
@name NVARCHAR(20), --姓名
@sex CHAR(2), --性别
@idNumber NVARCHAR(20), --身份证号
@workUnit NVARCHAR(50), --工作单位
@workUnitAddress NVARCHAR(50), --工作单位地址
@accountAddress NVARCHAR(50), --户口所在地
@accountNature CHAR(10), --户口性质
@residentialAddress NVARCHAR(50), --居住地址
@mobileNumber CHAR(12), --手机号码
@remarks NVARCHAR(200), --备注
@titles NVARCHAR(10), --称谓
@nation NVARCHAR(15), --民族
@politicStatus NVARCHAR(20), --政治面貌 @familyId INT = NULL, --家庭编号
@accounts INT, --户口总数
@houseNature NVARCHAR(10), --房屋性质
@phoneNumber NVARCHAR(12), --电话号码
@familyAddress NVARCHAR(50), --家庭地址 @projectId INT, --拆迁项目编号
@priorityBusinessArea FLOAT, --可优购营业房面积
@priorityHousingArea FLOAT, --可优购住房面积 @typistId INT, --录入员职位流水号
@flag INT = 0 --标志信息,0:添加家庭成员, 1:添加户主信息和家庭信息
AS
BEGIN
SET XACT_ABORT ON;--这一句必须加上
BEGIN TRANSACTION myTran
--添加家庭信息
IF @flag = 1
BEGIN
INSERT INTO 家庭(家庭人口数目, 户口总数, 房屋性质, 电话号码, 家庭地址, 职位流水号_录入员)
VALUES (0,@accounts, @houseNature, @phoneNumber, @familyAddress,@typistId) --获取家庭编号
SELECT @familyId = MAX(家庭编号)
FROM 家庭
WHERE 职位流水号_录入员 = @typistId
END IF @flag = 1
BEGIN
INSERT INTO 家庭结算(拆迁项目编号, 家庭编号, 可优购营业房面积, 可优购住房面积)
VALUES (@projectId, @familyId, @priorityBusinessArea, @priorityHousingArea)
END --添加家庭成员
INSERT INTO 家庭成员(家庭编号, 姓名, 性别, 身份证号, 工作单位,工作单位地址, 户口所在地, 户口性质, 居住地址, 手机号码, 备注, 称谓, 民族, 政治面貌)
VALUES (@familyId, @name, @sex, @idNumber, @workUnit, @workUnitAddress, @accountAddress, @accountNature,@residentialAddress, @mobileNumber, @remarks, @titles, @nation, @politicStatus) --家庭人口数目加一
UPDATE 家庭
SET 家庭人口数目 = 家庭人口数目 + 1
WHERE 家庭编号 = @familyId
COMMIT TRANSACTION myTran
END
附上SQL Server的存储过程例子的更多相关文章
- 在sql server中建存储过程,如果需要参数是一个可变集合怎么处理?
在sql server中建存储过程,如果需要参数是一个可变集合的处理 原存储过程,@objectIds 为可变参数,比如 110,98,99 ALTER PROC [dbo].[Proc_totalS ...
- SQL Server 2008 存储过程,带事务的存储过程(创建存储过程,删除存储过程,修改存储过
SQL Server 2008 存储过程,带事务的存储过程(创建存储过程,删除存储过程,修改存储过 存储过程 创建存储过程 use pubs --pubs为数据库 go create proc ...
- SQL Server中存储过程 比 直接运行SQL语句慢的原因
问题是存储过程的Parameter sniffing 在很多的资料中都描述说SQLSERVER的存储过程较普通的SQL语句有以下优点: 1. 存储过程只在创造时进行编译即可,以后每次执行存储过 ...
- SQL Server中存储过程比直接运行SQL语句慢的原因
原文:SQL Server中存储过程比直接运行SQL语句慢的原因 在很多的资料中都描述说SQLSERVER的存储过程较普通的SQL语句有以下优点: 1. 存储过程只在创造时进行编译即可,以 ...
- 在易语言中调用MS SQL SERVER数据库存储过程方法总结
Microsoft SQL SERVER 数据库存储过程,根据其输入输出数据,笼统的可以分为以下几种情况或其组合:无输入,有一个或多个输入参数,无输出,直接返回(return)一个值,通过output ...
- ADO.NET访问SQL Server调用存储过程带回参
1,ADO.NET访问SQL Server调用存储过程带回参 2,DatabaseDesign use northwind go --存储过程1 --插入一条商品 productname=芹菜 un ...
- sql server触发器的例子
发布:thebaby 来源:脚本学堂 [大 中 小] 本文介绍下,在sql server数据库中使用触发器的简单例子,有需要的朋友可以参考下,希望对你有一定的帮助. 原文地址:http:/ ...
- SQL Server 优化存储过程的七种方法
原文:SQL Server 优化存储过程的七种方法 优化存储过程有很多种方法,下面介绍最常用的7种. 1.使用SET NOCOUNT ON选项 我们使用SELECT语句时,除了返回对应的结果集外,还会 ...
- SQL Server中的CLR编程——用.NET为SQL Server编写存储过程和函数
原文:SQL Server中的CLR编程--用.NET为SQL Server编写存储过程和函数 很早就知道可以用.NET为SQL Server2005及以上版本编写存储过程.触发器和存储过程的,不过之 ...
随机推荐
- IOS SEL (@selector) 原理及使用总结(二)
SEL消息机制工作原理是什么 引用下面文章: 我们在之前有提到,一个类就像一个 C 结构.NSObject 声明了一个成员变量: isa. 由于 NSObject 是所有类的根类,所以所有的对象都会有 ...
- python之wheel 包命名规则、abi 兼容和安装
一.windows安装python包,遇见的问题 1.python3以后的版本,安装python包,可以直接使用pip安装,但是安装时偶尔报错 2.安装python源码包,如何确定自己该安装哪个版本, ...
- Epub格式的电子书——文件组成
epub格式电子书遵循IDPF推出的OCF规范,OCF规范遵循ZIP压缩技术,即epub电子书本身就是一个ZIP文件,我们将epub格式电子书的后缀.epub修改为.zip后,可以通过解压缩软件(例如 ...
- DispatcherServlet的初始化(二)
DispatcherServlet的初始化在springmvc的启动中有讲过,这一篇在上一篇的基础上接着讲.DispatcherServlet作为springmvc的前端控制器,还需要初始化其他的模块 ...
- travis-cli 使用
1. 添加项目 登录 travis 选择对应项目即可 2. 添加持续集成文件 .travis.yml language: node_js node_js: - "node" bef ...
- 纯 as3 项目中引用 fl 包下的类
如果安装了 Flash IDE, 将下面的文件添加到项目的 libs 中即可:D:\Program Files\Adobe\Adobe Flash CS6\Common\Configuration\A ...
- Python一些特殊用法(map、reduce、filter、lambda、列表推导式等)
Map函数: 原型:map(function, sequence),作用是将一个列表映射到另一个列表, 使用方法: def f(x): return x**2 l = range(1,10) map( ...
- elasticsearch 6.0.0及之后移除了一个索引允许映射多个类型的操作(Removal of mapping types)
分给线一下内容为理解错误内容,实际允许建立父子分档,只是类型改成来 join 官方demo: join datatypeedit The join datatype is a special fiel ...
- python3api-ms-win-crt-runtime-l1-1-0.dll丢失解决方法
先记录一个之前遇到的问题: 在安装了pycharm后,发现 通过上网发现,其实就是没有安装pip和setuptools,其实 Python3以后都是默认安装pip的,所以最后的解决办法是将我目前的Py ...
- php 必须了解提升的知识
https://blog.csdn.net/m18513057343/article/details/78974292