Cuestión : Entires duplicados que se modificarán en procedimiento almacenado

hola, el

We tiene SP dos que esté haciendo objetivos duplicados para entrar en los acesss del período de revisión del bussinessorg de la tabla que es el

columns:  El

Business_ID
ReviewPeriod_ID

Aprrsaiallock.


here del acess_ID de Bussinessorgreviewperiod (PK) es PROCEDIMIENTO del



HRBussiness_org_insert

SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO

ALTER del

1) HRBusiness_Org_Insert



- 2) BusinessOrgReviewPeriodAccess_INS [dbo]. [HRBusiness_Org_Insert] el @parentLFT internacional del
AS

DECLARE
del
(@Parent_BusinessOrg_ID internacional del
, @BusinessOrg_Name del
nvarchar (128), int
del @RequestingEmployeeID del
), el @parentIndentation internacional del
, el int

if del @newBusOrgID del
((seleccionar la cuenta (businessOrg_id) del businessorg donde Name=@BusinessOrg_Name) = 0)
Begin
COMIENZAN TRANSACTION

            -- Insertar el @parentLFT SELECTO = LFT
de Org
del autobús del
de BusinessOrg DONDE BusinessOrg_ID = el @Parent_BusinessOrg_ID

SELECCIONAN el @parentIndentation = Indentation
de BusinessOrg
DONDE BusinessOrg_ID = ACTUALIZACIÓN BusinessOrg
del @Parent_BusinessOrg_ID

DETERMINADO RGHT = RGHT + 2
DONDE RGHT > ACTUALIZACIÓN BusinessOrg
del @parentLFT

DETERMINADO LFT = LFT + 2
DONDE LFT > PARTE MOVIBLE del @ParentLFT

EN el
VALUES
(@Parent_BusinessOrg_ID, @ParentIndentation de BusinessOrg
(Parent_BusinessOrg_ID, muesca, LFT, RGHT, Active, ImageFileName,
ImageFilePath, nombre, CheckedOut_By, Created_By_EmpID, Created_DateTime) del
+ 1, @ParentLFT del
+ 1, @ParentLFT del
+ 2,
1, FALTA DE INFORMACIÓN del
,
“. /images/”, @BusinessOrg_Name del
, @RequestingEmployeeID del
, @RequestingEmployeeID del
, getDate del
())

SI @@ERROR > 0
BEGIN
RAISERROR 50001 'error que inserta en el @newBusOrgID DETERMINADO DE VUELTA = IDENT_CURRENT (“BusinessOrg")

de TRANSACTION
-1
END

de la RESTAURACIÓN NO ACTUALIZADA del Br/> del table'< de BusinessOrg            -- Crear los expedientes que falta del panorama basados en el PARTE MOVIBLE del padre org.
EN @newBusOrgID del
SELECT
de BusOrgScenarioXref
(BusinessOrg_ID, Scenario_ID, ReviewPeriod_ID, Created_DateTime, Created_By_EmpID, Updated_DateTime, Updated_By_EmpID), getdate del
x.Scenario_ID, del
x.ReviewPeriod_ID, del
(), @RequestingEmployeeID del
, getdate del
(), el x
WHERE
del @RequestingEmployeeID
FROM
BusOrgScenarioXref del
x.BusinessOrg_ID = el @Parent_BusinessOrg_ID
Y NO EXISTE (el
xx.*
del xx
de BusOrgScenarioXref DONDE x.Scenario_ID = xx. Scenario_ID
Y x.ReviewPeriod_ID = xx.ReviewPeriod_ID
Y xx.BusinessOrg_ID = @newBusOrgID
) el

SI inserción del error del @@ERROR > 0
BEGIN
RAISERROR 50001 ' en la RESTAURACIÓN NO ACTUALIZADA TRANSACTION
-1
END

del Br/> del table'< de BusOrgScenarioXref            -- Crear los expedientes que falta de los config basados en el PARTE MOVIBLE del padre org.
EN @newBusOrgID del
SELECT
de BusinessOrgConfigOptionXref
(BusinessOrg_ID, ReviewPeriod_ID, ConfigOption_ID, IsSelected, Created_By_EmpID, Created_DateTime,
Updated_By_EmpID, Updated_DateTime), @RequestingEmployeeID del
x.ReviewPeriod_ID, del
x.ConfigOption_ID, del
x.IsSelected, del
, getdate del
(), @RequestingEmployeeID del
, x
WHERE
del
FROM
BusinessOrgConfigOptionXref del getdate del
() x.BusinessOrg_ID = el @Parent_BusinessOrg_ID
Y NO EXISTE (el
xx.*
del xx
de BusinessOrgConfigOptionXref DONDE x.ReviewPeriod_ID = xx.ReviewPeriod_ID
Y x.ConfigOption_ID = xx.ConfigOption_ID
Y xx.BusinessOrg_ID = @newBusOrgID
) el

SI @@ERROR > 0
BEGIN
RAISERROR 50001 'que inserta en el
de TRANSACTION
-1
END
de la RESTAURACIÓN NO ACTUALIZADA del Br/> del table'< de BusinessOrgConfigOptionXref            -- Crear los expedientes que falta de los config basados en el PARTE MOVIBLE del padre org.
EN el @newBusOrgID del
SELECT
de BusinessOrgReviewPeriodAccess
(BusinessOrg_ID, ReviewPeriod_ID, AppraisalsLocked),
p.ReviewPeriod_ID, p
WHERE
del
p.AppraisalsLocked
FROM
BusinessOrgReviewPeriodAccess p.BusinessOrg_ID = el @Parent_BusinessOrg_ID
Y NO EXISTE (el
pp.*
del pp
de BusinessOrgReviewPeriodAccess DONDE p.ReviewPeriod_ID = pp.ReviewPeriod_ID
Y p.AppraisalsLocked = pp.AppraisalsLocked
Y pp.BusinessOrg_ID = @newBusOrgID
) el
del
SI error del @@ERROR > 0
BEGIN
RAISERROR 50001 'que inserta en el
de TRANSACTION
-1
END
de la RESTAURACIÓN NO ACTUALIZADA del Br/> del table'< de BusinessOrgReviewPeriodAccess            -- Crear el expediente para los derechos del plan del talento basados en el PARTE MOVIBLE del parent
EN @newBusOrgID del
SELECT
de BusOrgMngrLvlRoleXref
(BusinessOrg_ID, ManagerLevel_ID, AuthorRole_ID, Created_By_Emp_ID, Created_Datetime,
Updated_By_Emp_ID, Updated_DateTime), @RequestingEmployeeID del
p.ManagerLevel_ID, del
p.AuthorRole_ID, del
, getdate del
(), @RequestingEmployeeID del
, p
WHERE
del
FROM
BusOrgMngrLvlRoleXref del getdate del
() p.BusinessOrg_ID = el @Parent_BusinessOrg_ID
Y NO EXISTE (el
pp.*
del pp
de BusOrgMngrLvlRoleXref DONDE p.ManagerLevel_ID = pp.ManagerLevel_ID
Y p.AuthorRole_ID = pp.AuthorRole_ID
Y pp.BusinessOrg_ID = @newBusOrgID
) el

SI error del @@ERROR > 0
BEGIN
RAISERROR 50001 ' insertando en el PARTE MOVIBLE DE VUELTA de TRANSACTION
-1
END

de la RESTAURACIÓN NO ACTUALIZADA del Br/> del table'< de BusOrgMngrLvlRoleXref EN el
SELECT
c.BusOrgMngrLvlRoleXref_ID, px. Section_ID,
px.IsSelected,
px.ColumnPosition, px de BusOrgMngrLvlRoleSectionXref
(BusOrgMngrLvlRoleXref_ID, Section_ID, IsSelected, ColumnPosition, ordinal,
Created_By_Emp_ID, Created_DateTime, Updated_By_Emp_ID, Updated_DateTime) del
del
. El ordinal, @RequestingEmployeeID del
, getdate del
(), @RequestingEmployeeID del
, c
del
FROM
BusOrgMngrLvlRoleXref del getdate del
() INTERNO ENSAMBLA BusOrgMngrLvlRoleXref p EN p.ManagerLevel_ID = c.ManagerLevel_ID
Y p.AuthorRole_ID = c.AuthorRole_ID
Y p.BusinessOrg_ID = @Parent_BusinessOrg_ID
Y c.BusinessOrg_ID = @newBusOrgID
                  INTERNO ENSAMBLAR el px de BusOrgMngrLvlRoleSectionXref EN p.BusOrgMngrLvlRoleXref_ID = px.BusOrgMngrLvlRoleXref_ID

SI error del @@ERROR > 0
BEGIN
RAISERROR 50001 el 'que inserta en la RESTAURACIÓN NO ACTUALIZADA TRANSACTION
-1
END

del Br/> del table'< de BusOrgMngrLvlRoleSectionXref CONFÍA el
de TRANSACTION
            -- Volver nuevo ID.
que el @newBusOrgID

End
Else
Begin
selecciona -1 como objeto del ****** del
GO
/del _acess



USE [PMTP] del período de Businessorg_id
End


2) Bussinessorgreview:  StoredProcedure [dbo]. [BusinessOrgReviewPeriodAccess_INS] fecha de la escritura: 06/30/2010 12:17: 50 PROCEDIMIENTO del ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO


ALTER [dbo]. [BusinessOrgReviewPeriodAccess_INS] el
AS

INSERT EN @intBusinessOrgID del
SELECT de dbo.BusinessOrgReviewPeriodAccess (BusinessOrg_ID, ReviewPeriod_ID, AppraisalsLocked), ReviewPeriod_ID, Br/>


please del
(int
del @intBusinessOrgID del
) del UPCM'< del <> del código de estado de 0
FROM ReviewPeriod
WHERE 'me dejó saber modificaciones al objectives
class= del

Respuesta : Entires duplicados que se modificarán en procedimiento almacenado

Presumo que usted quiere prevenir el parte movible si existe el expediente exacto ya.
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
ALTERAR EL PROCEDIMIENTO [dbo]. [BusinessOrgReviewPeriodAccess_INS]
(
      @intBusinessOrgID      internacional
)
COMO

PARTE MOVIBLE EN dbo.BusinessOrgReviewPeriodAccess (BusinessOrg_ID, ReviewPeriod_ID, AppraisalsLocked)
SELECCIONAR el @intBusinessOrgID, ReviewPeriod_ID, 0
De dbo.ReviewPeriod
DONDE código de estado <> “UPCM”
-- Comprobar si hizo no existido ya
Y NO EXISTE (
 SELECCIONAR 1 
 De dbo.BusinessOrgReviewPeriodAccess
 DONDE BusinessOrg_ID = @intBusinessOrgID
 Y =ReviewPeriod_ID de ReviewPeriod_ID
 Y AppraisalsLocked=0
)
Otras soluciones  
 
programming4us programming4us