附上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   BestNow  阅读(215)  评论(0编辑  收藏  举报

编辑推荐:
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示