Автозаполнение столбца значением из другой таблицы - PullRequest
0 голосов
/ 19 февраля 2019

Используя SQL Management Studio, у меня есть две таблицы, первая таблица содержит информацию о каждом операторе.Вторая таблица содержит ввод данных.

Первая таблица будет содержать UserID, например, "Ollie" с соответствующими часами, например, 8. Когда данные вводятся во вторую таблицу, с именем оператора ""Олли ", мне нужно поле во второй таблице, чтобы оно автоматически заполнялось как" 8 ".

Ниже приведены данные таблицы из второй таблицы и приблизительное представление о том, что я имею после.

CREATE TABLE [dbo].[tblTime](
    [RecordID] [int] IDENTITY(1,1) NOT NULL,
    [Operator] [nvarchar](50) NOT NULL,
    [Timein] [decimal](10, 4) NOT NULL,
    [UserBreak] [decimal](10, 4) NOT NULL,
    [Timeout] [decimal](10, 4) NOT NULL,
    [TotalTime]  AS (([Timeout]-[Timein])-[Userbreak]),
    [OperatorHours] AS (SELECT OperatorHours FROM tblUser t WHERE t.UserID = Operator),

1 Ответ

0 голосов
/ 19 февраля 2019

вы не можете использовать подзапросы для вычисляемых столбцов.Вы можете написать триггер для этой цели.

CREATE TRIGGER TriggerExample
ON TblTime
BEFORE INSERT, UPDATE
AS 
 Declare @operH int;
 SELECT @operH = OperatorHours FROM tblUser t WHERE t.UserID = inserted.operator;
 inserted.OperatorHours = @operH;
GO
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...