Code:
USE [EPIC_001011012]
GO
/****** Object: StoredProcedure [dbo].[_InsertRefTeleLink] Script Date: 05/10/2012 23:17:46 ******/
SET ANSI_NULLS OFF
GO
SET QUOTED_IDENTIFIER OFF
GO
ALTER PROCEDURE [dbo].[_InsertRefTeleLink]
@Service int,
@OwnerTeleport_CodeName varchar(128),
@TargetTeleport_CodeName varchar(128),
@Fee int,
@RestrictBindMethod tinyint,
@CheckResult tinyint,
@Restrict1 int,
@Data1_1 int,
@Data1_2 int,
@Restrict2 int,
@Data2_1 int,
@Data2_2 int,
@Restrict3 int,
@Data3_1 int,
@Data3_2 int,
@Restrict4 int,
@Data4_1 int,
@Data4_2 int,
@Restrict5 int,
@Data5_1 int,
@Data5_2 int
as
declare @OwnerTeleport int
declare @TargetTeleport int
declare @obj_common_id int
declare @link int
begin transaction
begin
set @link = 0
select @OwnerTeleport = ID from _RefTeleport where CodeName128 = @OwnerTeleport_CodeName
select @TargetTeleport = ID from _RefTeleport where CodeName128 = @TargetTeleport_CodeName
if (@OwnerTeleport = 0 or @TargetTeleport = 0)
begin
rollback transaction
raiserror('owner 혹은 target teleport가 존재하지 않는다. [owner: %s, target: %s]', @OwnerTeleport_CodeName, @TargetTeleport_CodeName)
return
end
if (exists (select * from _RefTeleLink where OwnerTeleport = @OwnerTeleport and TargetTeleport = @TargetTeleport))
begin
update _RefTeleLink
set Service = @Service,
Fee = @Fee,
RestrictBindMethod = @RestrictBindMethod, CheckResult = @CheckResult,
Restrict1 = @Restrict1, Data1_1 = @Data1_1, Data1_2 = @Data1_2,
Restrict2 = @Restrict2, Data2_1 = @Data2_1, Data2_2 = @Data2_2,
Restrict3 = @Restrict3, Data3_1 = @Data3_1, Data3_2 = @Data3_2,
Restrict4 = @Restrict4, Data4_1 = @Data4_1, Data4_2 = @Data4_2,
Restrict5 = @Restrict5, Data5_1 = @Data5_1, Data5_2 = @Data5_2
where OwnerTeleport = @OwnerTeleport and TargetTeleport = @TargetTeleport
end
else
begin
insert into _RefTeleLink
values (@Service,
@OwnerTeleport,
@TargetTeleport,
@Fee,
@RestrictBindMethod,
@CheckResult,
@Restrict1, @Data1_1, @Data1_2,
@Restrict2, @Data2_1, @Data2_2,
@Restrict3, @Data3_1, @Data3_2,
@Restrict4, @Data4_1, @Data4_2,
@Restrict5, @Data5_1, @Data5_2)
end
if (@@error <> 0)
begin
rollback transaction
raiserror('TeleportLink 추가(혹은 갱신) 실패! [%s, %s]', 1, 16, @OwnerTeleport_CodeName, @TargetTeleport_CodeName)
return
end
commit transaction
end