代码如下,看了就明白:

--添加项目大类存储过程
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. C#/.NET 中的契约

    将文档放到代码里面,文档才会及时地更新! 微软从 .NET Framework 4.0 开始,增加了 System.Diagnostics.Contracts 命名空间,用来把契约文档融入代码.然而后 ...

  2. ALTERA的FPGA命名规则

    DIP中文解释:双列直插式封装.插装型封装之一,引脚从封装两侧引出,封装材料有塑料和陶瓷两种.DIP是最普及的插装型封装,应用范围包括标准逻辑IC,存贮器LSI,微机电路等.        PLCC中 ...

  3. py2exe转换参数

    在公司用python写了个统计数据并通过xlsxwriter模块生成excel的小工具, 完成后使用py2exe转换成exe文件过程中遇到了些问题, 记录下. from distutils.core ...

  4. lapis cockroachdb 数据访问试用

    备注:   cockroachdb 的安装可以参考官方文档,以下实例代码使用的是官方的参考例子   1. 数据库配置 // config.lua 参考: local config = require( ...

  5. sublime设置右键在浏览器打开

    用sublime编辑html文件,右键此文件,自带一个在浏览器中打开,但是这个是在IE里打开, 如何在chrome里打开呢. 1. 这里插入一下安装"view in browser" ...

  6. 微信开发 api 需要 https 服务器

    微信开发 api 需要 https 服务器 先建一个环境,本地的 https 服务器. 以下这篇不错,很完整. https://zhuanlan.zhihu.com/p/23640321

  7. video4linux(v4l)使用摄像头的实例基础教程与体会(转)

    1. video4linux基础相关     1.1  v4l的介绍与一些基础知识的介绍   I.首先说明一下video4linux(v4l).           它是一些视频系统.视频软件.音频软 ...

  8. Python——深浅Copy

    1. 赋值 赋值:指向同一块内存地址,所以同时改变 l1 = [1,2,3] l2 = l1 l1.append('a') print(l1,l2) # [1, 2, 3, 'a'] [1, 2, 3 ...

  9. C# WMP 视频播放

    1. C#播放器控件常用的方法介绍 右击工具箱->选择项(I)... -> 显示"选择工具箱项" -> COM组件 -> Windows Media Pla ...

  10. Mock&Spring集成

    Mock&Spring集成 常规Mock单元测试 请参考上一篇文档Mock mock框架的功能性对比 http://jmockit.github.io/MockingToolkitCompar ...