附上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 
View Code

 

posted on 2014-11-23 22:04  BestNow  阅读(213)  评论(0编辑  收藏  举报

导航