附上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及以上版本编写存储过程.触发器和存储过程的,不过之 ...
随机推荐
- 《DSP using MATLAB》示例Example 8.10
这个例子的代码我不会写,只是放一张书的截图图片在这里.以后再改进吧.
- selenium数据驱动
Selenium最后一个知识点——数据驱动.学会了这个Selenium就算学完啦~ 看代码: 这是修改的testSell.py文件. # coding: utf-8 import ddtimport ...
- ASP.NET常用标准配置web.config
在我们的项目开发过程中,我们经常要配置wei.config文件,而大多数的时候配置差不多,下面的是一个简单的配置,其他的配置可以在这个基础上在添加 <?xml version="1.0 ...
- ORM 查询
ORM版学员管理系统 班级表 表结构 class Class(models.Model): id = models.AutoField(primary_key=True) # 主键 cname = m ...
- 生产环境LNMP (交友)
一. 下载一键安装包 LNMP 官方地址为:http://lnmp.org/ 原生产环境为 : php5.4.32 mysql 5.5 nginx 1.40 我们用LNMP包安装相应的环境 ...
- 完美版js金钱正则表达式校验
<!doctype html> <html lang="en"> <head> <meta charset="UTF-8& ...
- 编译openvpn在链接时报tuncfg错误
1. 链接时产生tuncfg错误 init.o: In function `do_persist_tuntap': init.c:(.text+0x24d8): undefined reference ...
- Tomcat配置远程调试
===========方法1================================ tomcat7 :catalina.bat jpda start,调试端口默认为8000 ======== ...
- [转]Jsp 常用标签
<jsp:include> 动态引入,涉及到的多个 jsp 页面会翻译成多个 servlet 并在执行时合并. include 指令 是静态引入,涉及到的多个 jsp 页面会翻译成一个 s ...
- python学习 (三十四) Python文件操作
1 写文件 my_list = ["] my_file = open("myfile.txt", "w") for item in my_list: ...