代码如下,看了就明白:

--添加项目大类存储过程
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的存储过程例子的更多相关文章

  1. 在sql server中建存储过程,如果需要参数是一个可变集合怎么处理?

    在sql server中建存储过程,如果需要参数是一个可变集合的处理 原存储过程,@objectIds 为可变参数,比如 110,98,99 ALTER PROC [dbo].[Proc_totalS ...

  2. SQL Server 2008 存储过程,带事务的存储过程(创建存储过程,删除存储过程,修改存储过

    SQL Server 2008 存储过程,带事务的存储过程(创建存储过程,删除存储过程,修改存储过     存储过程 创建存储过程 use pubs --pubs为数据库 go create proc ...

  3. SQL Server中存储过程 比 直接运行SQL语句慢的原因

    问题是存储过程的Parameter sniffing     在很多的资料中都描述说SQLSERVER的存储过程较普通的SQL语句有以下优点: 1. 存储过程只在创造时进行编译即可,以后每次执行存储过 ...

  4. SQL Server中存储过程比直接运行SQL语句慢的原因

    原文:SQL Server中存储过程比直接运行SQL语句慢的原因 在很多的资料中都描述说SQLSERVER的存储过程较普通的SQL语句有以下优点: 1.       存储过程只在创造时进行编译即可,以 ...

  5. 在易语言中调用MS SQL SERVER数据库存储过程方法总结

    Microsoft SQL SERVER 数据库存储过程,根据其输入输出数据,笼统的可以分为以下几种情况或其组合:无输入,有一个或多个输入参数,无输出,直接返回(return)一个值,通过output ...

  6. ADO.NET访问SQL Server调用存储过程带回参

    1,ADO.NET访问SQL Server调用存储过程带回参 2,DatabaseDesign  use northwind go --存储过程1 --插入一条商品 productname=芹菜 un ...

  7. sql server触发器的例子

    发布:thebaby   来源:脚本学堂     [大 中 小] 本文介绍下,在sql server数据库中使用触发器的简单例子,有需要的朋友可以参考下,希望对你有一定的帮助. 原文地址:http:/ ...

  8. SQL Server 优化存储过程的七种方法

    原文:SQL Server 优化存储过程的七种方法 优化存储过程有很多种方法,下面介绍最常用的7种. 1.使用SET NOCOUNT ON选项 我们使用SELECT语句时,除了返回对应的结果集外,还会 ...

  9. SQL Server中的CLR编程——用.NET为SQL Server编写存储过程和函数

    原文:SQL Server中的CLR编程--用.NET为SQL Server编写存储过程和函数 很早就知道可以用.NET为SQL Server2005及以上版本编写存储过程.触发器和存储过程的,不过之 ...

随机推荐

  1. python,java操作mysql数据库,数据引擎设置为myisam时能够插入数据,转为innodb时无法插入数据

    今天想给数据库换一个数据引擎,mysiam转为 innodb 结果 python 插入数据时失败,但是自增id值是存在的, 换回mysiam后,又可以插入了~~ 想换php插入试试,结果php数据引擎 ...

  2. iOS 信号量解决-网络异步请求的数据同步返回问题

    有那么一个场景如下 +PayWithBlock:(NSString*(^)(NSString *message)) block; 如果 block 返回是同步的那是没有问题的,但是如果block 内容 ...

  3. matplotlib ----- 颜色, 标记样式

    颜色: 蓝色 - 'b' 绿色 - 'g' 红色 - 'r' 青色 - 'c' 品红 - 'm' 黄色 - 'y' 黑色 - 'k' 白色 - 'w' 线: 直线 - '-' 虚线 - '--' 点线 ...

  4. autoconf 简单demo试用

    1. 安装工具 yum install -y automake   2. 基本项目 a. 项目参考结构 ├── AUTHORS ├── COPYING ├── ChangeLog ├── Makefi ...

  5. 服务器用 git 进行部署出现代码冲突的处理

    服务器用 git 进行部署出现代码冲突的处理 起因: 由于项目是之前很久之前上传的,且并没上线.使用 git pull 进行代码更新时出现很多冲突. 因为服务器上的代码有移动过位置,不知道为什么就冲突 ...

  6. laravel的学习历程

    首要,表明态度:PHP是世界上最佳的言语.(梗) laravel说是php将来,形似不假. 最开端触摸的是thinkphp,格外喜爱她的分层,文档格外完全,阅读起来没任何妨碍. 比较laravel,我 ...

  7. How to install torcs package in Debian

    Installation instructions Installing torcs package in Debian Wheezy is as easy as running: 没想到在debia ...

  8. bzoj 3779 重组病毒——LCT维护子树信息

    题目:https://www.lydsy.com/JudgeOnline/problem.php?id=3779 调了很久……已经懒得写题解了.https://www.cnblogs.com/Zinn ...

  9. LINUX下多路径的介绍和安装配置(测试未写完)

    一.什么是多路径 普通的电脑主机都是一个硬盘挂接到一个总线上,这里是一对一的关系.而到了有光纤组成的SAN环境,或者由iSCSI组成的IPSAN环境,由于主机和存储通过了光纤交换机或者多块网卡及IP来 ...

  10. springMvc架构简介

    什么是spring 关于spring的定义无论是从官方还是市面上已经很多能够清晰明了的做出解释了.我姑且简单定义它为一个轻量级的控制反转(IoC)和面向切面(AOP)的容器,Java 开发框架,至于控 ...