Sql 将delete语句添加到if语句中

Sql 将delete语句添加到if语句中,sql,sql-server,Sql,Sql Server,我正在尝试将delete语句添加到现有的IF语句中 IF EXISTS (SELECT * FROM [int_SocialAccess].[dbo].[Authorisers] where ID = {ID}) update [int_SocialAccess].[dbo].[Authorisers] set Name = {Name}, Email = {Email}, Responsibility = {Responsibility},

我正在尝试将delete语句添加到现有的IF语句中

IF EXISTS (SELECT * FROM [int_SocialAccess].[dbo].[Authorisers] where ID = {ID})
update [int_SocialAccess].[dbo].[Authorisers] set 
        Name = {Name},
        Email = {Email},
        Responsibility = {Responsibility},
        IsHeadOfService = {IsHeadOfService},
        DeleteRec = {DeleteRec}
    where ID = {ID}
ELSE
    insert into [int_SocialAccess].[dbo].[Authorisers] 
    values( {Name},
        {Email},
        {Responsibility},
        {IsHeadOfService},
        'no')
我试着在开头和结尾添加语句,但都不起作用

这是我为update和insert语句创建的现有代码

IF EXISTS (SELECT * FROM [int_SocialAccess].[dbo].[Authorisers] where ID = {ID})
update [int_SocialAccess].[dbo].[Authorisers] set 
        Name = {Name},
        Email = {Email},
        Responsibility = {Responsibility},
        IsHeadOfService = {IsHeadOfService},
        DeleteRec = {DeleteRec}
    where ID = {ID}
ELSE
    insert into [int_SocialAccess].[dbo].[Authorisers] 
    values( {Name},
        {Email},
        {Responsibility},
        {IsHeadOfService},
        'no')
我正试图在update语句之前添加下面的delete语句,如果“DeleteRec”字段为“是”,我想删除记录,否则就更新它

IF {DeleteRec} = 'yes'
    DELETE FROM [int_SocialAccess].[dbo].[Authorisers]
    where ID = {ID}
ELSE


任何指示都很好。

如果在If-else块中需要多个stmt,则需要使用BEGIN-END-

IF EXISTS (SELECT * FROM [int_SocialAccess].[dbo].[Authorisers] where ID = {ID})
BEGIN
    IF {DeleteRec} = 'yes'
        DELETE FROM [int_SocialAccess].[dbo].[Authorisers] where ID = {ID}
    ELSE
         Update
END
ELSE
    insert into [int_SocialAccess].[dbo].[Authorisers] 
    values( {Name},
        {Email},
        {Responsibility},
        {IsHeadOfService},
        'no')

这是哪个数据库管理系统?SQL Server?是的,是SQL Server