Вопрос : Двойной entires, котор нужно доработать в, котор хранят процедуре

hi,

We имеет SP 2 который делает двойной задачи для того чтобы включиться в acesss интервала между проверками состояния запасов bussinessorg таблицы, котор

columns являются следующими:  

Business_ID
ReviewPeriod_ID

Aprrsaiallock.


here acess_ID Bussinessorgreviewperiod (PK) будет ПРОЦЕДУРА ПО



HRBussiness_org_insert

SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO

ALTER

1) HRBusiness_Org_Insert



- 2) BusinessOrgReviewPeriodAccess_INS [dbo]. [HRBusiness_Org_Insert] @parentLFT int
AS

DECLARE

(@Parent_BusinessOrg_ID int
, @BusinessOrg_Name
nvarchar (128), int
@RequestingEmployeeID
), @parentIndentation int
, int

if @newBusOrgID
((выберите отсчет (businessOrg_id) от businessorg где Name=@BusinessOrg_Name) = 0)
Begin
НАЧИНАЮТ TRANSACTION

            -- Введите @parentLFT Org
шины ОТБОРНОЕ = LFT
ОТ
BusinessOrg ГДЕ BusinessOrg_ID = @Parent_BusinessOrg_ID

ВЫБИРАЮТ @parentIndentation = Indentation
ОТ BusinessOrg
ГДЕ BusinessOrg_ID = УТОЧНЕНИЕ BusinessOrg
@Parent_BusinessOrg_ID

УСТАНОВЛЕННОЕ RGHT = RGHT + 2
ГДЕ RGHT > УТОЧНЕНИЕ BusinessOrg
@parentLFT

УСТАНОВЛЕННОЕ LFT = LFT + 2
ГДЕ LFT > ВСТАВКА @ParentLFT

В
VALUES
BusinessOrg
(Parent_BusinessOrg_ID, вмятия, LFT, RGHT, Active, ImageFileName,
ImageFilePath, имени, CheckedOut_By, Created_By_EmpID, Created_DateTime) (@Parent_BusinessOrg_ID, @ParentIndentation
+ 1, @ParentLFT
+ 1, @ParentLFT
+ 2,
1, NULL
,
«. /images/», @BusinessOrg_Name
, @RequestingEmployeeID
, @RequestingEmployeeID
, getDate
())

ЕСЛИ @@ERROR > 0
BEGIN
RAISERROR 50001 'ошибка вводя в @newBusOrgID TRANSACTION
ВОЗВРАЩЕННОЕ -1
END

ROLLBACK br/> table'< BusinessOrg УСТАНОВЛЕННОЕ = IDENT_CURRENT, то («BusinessOrg")

            -- Создайте пропавшие показатели сценария основанные на ВСТАВКЕ родителя org.
В @newBusOrgID
SELECT
BusOrgScenarioXref
(BusinessOrg_ID, Scenario_ID, ReviewPeriod_ID, Created_DateTime, Created_By_EmpID, Updated_DateTime, Updated_By_EmpID), getdate
x.Scenario_ID,
x.ReviewPeriod_ID,
(), @RequestingEmployeeID
, getdate
(), x
WHERE
@RequestingEmployeeID
FROM
BusOrgScenarioXref
x.BusinessOrg_ID = @Parent_BusinessOrg_ID
И НЕ СУЩЕСТВУЙТЕ (
ОТБОРНОЕ xx.*
ОТ xx
BusOrgScenarioXref ГДЕ x.Scenario_ID = xx. Scenario_ID
И x.ReviewPeriod_ID = xx.ReviewPeriod_ID
И xx.BusinessOrg_ID = @newBusOrgID
)

ЕСЛИ вводить ошибки @@ERROR > 0
BEGIN
RAISERROR 50001 ' в ROLLBACK TRANSACTION
ВОЗВРАЩЕННОЕ -1
END

br/> table'< BusOrgScenarioXref            -- Создайте пропавшие показатели config основанные на ВСТАВКЕ родителя org.
В @newBusOrgID
SELECT
BusinessOrgConfigOptionXref
(BusinessOrg_ID, ReviewPeriod_ID, ConfigOption_ID, IsSelected, Created_By_EmpID, Created_DateTime,
Updated_By_EmpID, Updated_DateTime), @RequestingEmployeeID
x.ReviewPeriod_ID,
x.ConfigOption_ID,
x.IsSelected,
, getdate
(), @RequestingEmployeeID
, x
WHERE

FROM
BusinessOrgConfigOptionXref getdate
() x.BusinessOrg_ID = @Parent_BusinessOrg_ID
И НЕ СУЩЕСТВУЙТЕ (
ОТБОРНОЕ xx.*
ОТ xx
BusinessOrgConfigOptionXref ГДЕ x.ReviewPeriod_ID = xx.ReviewPeriod_ID
И x.ConfigOption_ID = xx.ConfigOption_ID
И xx.BusinessOrg_ID = @newBusOrgID
)

ЕСЛИ @@ERROR > 0
BEGIN
RAISERROR 50001 'вводя в
TRANSACTION
ВОЗВРАЩЕННОЕ -1
END
ROLLBACK br/> table'< BusinessOrgConfigOptionXref            -- Создайте пропавшие показатели config основанные на ВСТАВКЕ родителя org.
В @newBusOrgID
SELECT
BusinessOrgReviewPeriodAccess
(BusinessOrg_ID, ReviewPeriod_ID, AppraisalsLocked),
p.ReviewPeriod_ID, p
WHERE

p.AppraisalsLocked
FROM
BusinessOrgReviewPeriodAccess p.BusinessOrg_ID = @Parent_BusinessOrg_ID
И НЕ СУЩЕСТВУЙТЕ (
ОТБОРНОЕ pp.*
ОТ pp
BusinessOrgReviewPeriodAccess ГДЕ p.ReviewPeriod_ID = pp.ReviewPeriod_ID
И p.AppraisalsLocked = pp.AppraisalsLocked
И pp.BusinessOrg_ID = @newBusOrgID
)

ЕСЛИ ошибка @@ERROR > 0
BEGIN
RAISERROR 50001 'вводя в
TRANSACTION
ВОЗВРАЩЕННОЕ -1
END
ROLLBACK br/> table'< BusinessOrgReviewPeriodAccess            -- Создайте показатель для присуждений титула плана талантливости основанных на ВСТАВКЕ parent
В @newBusOrgID
SELECT
BusOrgMngrLvlRoleXref
(BusinessOrg_ID, ManagerLevel_ID, AuthorRole_ID, Created_By_Emp_ID, Created_Datetime,
Updated_By_Emp_ID, Updated_DateTime), @RequestingEmployeeID
p.ManagerLevel_ID,
p.AuthorRole_ID,
, getdate
(), @RequestingEmployeeID
, p
WHERE

FROM
BusOrgMngrLvlRoleXref getdate
() p.BusinessOrg_ID = @Parent_BusinessOrg_ID
И НЕ СУЩЕСТВУЙТЕ (
ОТБОРНОЕ pp.*
ОТ pp
BusOrgMngrLvlRoleXref ГДЕ p.ManagerLevel_ID = pp.ManagerLevel_ID
И p.AuthorRole_ID = pp.AuthorRole_ID
И pp.BusinessOrg_ID = @newBusOrgID
)

ЕСЛИ ошибка @@ERROR > 0
BEGIN
RAISERROR 50001 ' вводящ в ВСТАВКУ TRANSACTION
ВОЗВРАЩЕННУЮ -1
END

ROLLBACK br/> table'< BusOrgMngrLvlRoleXref В
SELECT
c.BusOrgMngrLvlRoleXref_ID BusOrgMngrLvlRoleSectionXref
(BusOrgMngrLvlRoleXref_ID, Section_ID, IsSelected, ColumnPosition, ординала,
Created_By_Emp_ID, Created_DateTime, Updated_By_Emp_ID, Updated_DateTime), px. Section_ID
,
px.IsSelected,
px.ColumnPosition, px
. Ординал, @RequestingEmployeeID
, getdate
(), @RequestingEmployeeID
, c

FROM
BusOrgMngrLvlRoleXref getdate
() ВНУТРЕННЕЕ СОЕДИНЯЕТ BusOrgMngrLvlRoleXref p НА p.ManagerLevel_ID = c.ManagerLevel_ID
И p.AuthorRole_ID = c.AuthorRole_ID
И p.BusinessOrg_ID = @Parent_BusinessOrg_ID
И c.BusinessOrg_ID = @newBusOrgID
                  ВНУТРЕННЕ СОЕДИНИТЕ px BusOrgMngrLvlRoleSectionXref НА p.BusOrgMngrLvlRoleXref_ID = px.BusOrgMngrLvlRoleXref_ID

ЕСЛИ ошибка @@ERROR > 0
BEGIN
RAISERROR 50001 'вводя в ROLLBACK TRANSACTION
ВОЗВРАЩЕННОЕ -1
END

br/> table'< BusOrgMngrLvlRoleSectionXref ПОРУЧАЕТ
TRANSACTION
            -- Возвратите новое ID.
ОТБОРНОЕ, котор @newBusOrgID

End
Else
Begin
выбирает -1 как предмет ******
GO
/_acess



USE периода Businessorg_id
End


2) Bussinessorgreview [PMTP]:  StoredProcedure [dbo]. [BusinessOrgReviewPeriodAccess_INS] дата сценария: 06/30/2010 12:17: 50 ПРОЦЕДУРА ПО ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO


ALTER [dbo]. [BusinessOrgReviewPeriodAccess_INS]
AS

INSERT В @intBusinessOrgID
SELECT dbo.BusinessOrgReviewPeriodAccess (BusinessOrg_ID, ReviewPeriod_ID, AppraisalsLocked), ReviewPeriod_ID
(int
@intBusinessOrgID
), br/>


please UPCM'< <> StatusCode 0
FROM ReviewPeriod
WHERE 'препятствовало мне знать изменения к излишек ому двойной objectives
class=

Ответ : Двойной entires, котор нужно доработать в, котор хранят процедуре

Я предполагаю вы хочет предотвратить вставку если точно показатель уже существует.
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
ИЗМЕНИТЕ ПРОЦЕДУРУ [dbo]. [BusinessOrgReviewPeriodAccess_INS]
(
      @intBusinessOrgID      int
)
КАК

ВСТАВКА В dbo.BusinessOrgReviewPeriodAccess (BusinessOrg_ID, ReviewPeriod_ID, AppraisalsLocked)
ВЫБЕРИТЕ @intBusinessOrgID, ReviewPeriod_ID, 0
ОТ dbo.ReviewPeriod
ГДЕ StatusCode <> «UPCM»
-- Проверите если он сделал уже после того как он существован
И НЕ СУЩЕСТВУЕТ (
 ВЫБЕРИТЕ 1 
 ОТ dbo.BusinessOrgReviewPeriodAccess
 ГДЕ BusinessOrg_ID = @intBusinessOrgID
 И =ReviewPeriod_ID ReviewPeriod_ID
 И AppraisalsLocked=0
)
Другие решения  
  •  Как я добавляю кнопки на форме PDF для того чтобы добавить/извлекаю рядки данных?
  •  Шнур ошибки в блоке задвижки?
  •  сколько вариант сервера SQL на одной машине
  •  Внешний вид 2007 не может архивный файл открытой сети сохраненный
  •  Активно директория DNS записывает вопрос
  •  Отчет о доступа 2010 экспорта к CSV с коллекторами?
  •  Прокладчик OCE 9400 не начинает
  •  как добавить десятичное место в формуле в отчете о кристалла seagate
  •  Windows XP и Мичрософт Оутлоок и проблемы установителя Windows
  •  VB6 к VS2010 - консультации тренировки?
  •  
    programming4us programming4us