插入和更新存储过程

时间:2019-04-17 20:47:32

标签: sql sql-server stored-procedures

我是存储过程和SQL Server的新手(当前使用SQL Server 2016)。我正在尝试创建一个存储过程,该存储过程将使我能够为特定帐户设置昵称。基于他们已经通过的MemberAccountNicknameId,我想知道是否要更新现有行,或者是否为null,然后添加新行。我不知道该怎么做。

USE [MemberRelations]
GO

SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO

ALTER PROCEDURE [dbo].[uspSetAccountNickname] 
AS
BEGIN
    SET NOCOUNT ON;

    DECLARE @CrmID varchar(20),
            @AccountNumber varchar(20),
            @Nickname varchar(50),
            @CreatedDate datetime,
            @updatedDate datetime

    SELECT

     if (@MemberAccountNicknameId is NULL)
        INSERT INTO MemberAccountNickname
        ELSE
        UPDATE MemberAccountNickname
        WHERE  MemberAccountNicknameId = @MemberAccountNicknameId
END

MemberAccountNicknameId是我在表中称为主键的东西。希望这会有所帮助,让我知道是否需要添加其他内容。

谢谢

1 个答案:

答案 0 :(得分:3)

看看SQL Server中的Merge操作,他们有您想要的示例。