使用SQL Management Studio,我有两个表,第一个表包含有关每个运算符的信息。第二个表包含数据输入。
第一个表将包含一个UserID
,例如“ Ollie”及其相应的小时数,例如8。
当数据输入到第二张表时,操作员名称为“ Ollie”,我需要在第二张表中的一个字段自动填充为“ 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),
答案 0 :(得分:0)
您不能对计算列使用子查询。为此,您可以编写触发器。
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