SMSS v17 Stored Proc для вставки строк в таблицу - PullRequest
0 голосов
/ 21 мая 2019

У меня есть две таблицы: PS_Emp и PS_SAR_General

Хранимая процедура должна обновить PS_SAR_General с любыми идентификаторами сотрудников, которых нет в этой таблице из PS_Emp.Не могли бы вы дать мне знать, где я ошибся?

Это то, что у меня есть до сих пор:

CREATE PROCEDURE [dbo].[SAR_NewEmp_app]
@USID
AS
INSERT INTO dbo.PS_SAR_General ([USID])
VALUES (@USID)


FROM dbo.PS_Emp
WHERE NOT EXISTS (SELECT PS_Emp.[USID] FROM PS_Emp WHERE PS_SAR_General 
[USID] = PS_Emp.[USID]) AND PS_Emp.[Status] = 'Active' AND 
PS_Emp.[ECS ICS] = 'ECS' AND PS_Emp.[Employee Class] NOT IN 
('BRWDRESORCE', 'SUBCONTRACT')

1 Ответ

0 голосов
/ 21 мая 2019

Для всех, кто ищет ответ, вот что в итоге сработало:

CREATE PROCEDURE [dbo].[SAR_AddNewEmps_app]
AS
INSERT INTO dbo.PS_SAR_General ([USID], [Status], [ECS ICS], [Employee Class])
  SELECT PS_SAR_General.USID, PS_SAR_General.[Status]
    , PS_SAR_General.[ECS ICS], PS_SAR_General.[Employee Class]
  FROM dbo.PS_SAR_General
  WHERE NOT EXISTS (
    SELECT PS_Emp.[USID]
    FROM PS_Emp
    WHERE PS_SAR_General.[USID] = PS_Emp.[USID]
  ) AND [Status] = 'Active'
  AND [ECS ICS] = 'ECS'
  AND [Employee Class] NOT IN ('BRWDRESORCE', 'SUBCONTRACT') 

Эта хранимая процедура добавляет теперь строки, которых не было в новой таблице, но которые существуют в таблице сотрудников.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...