我是sql新手,包括执行查询。我们的组织每天都会以列表的形式发送一份被解雇员工的名单。我要做的是两件事,在一个 column
如果找到了该员工,则将某个单元格/字段更新为 disable
.
例如,如果我们得到一个雇员id为 123456
以及 234567
,我想在 EMPID
字段,然后将其活动字段从“1”更新为“0”。
最好的方法是什么?
编辑,为所有丢失的信息感到抱歉,因为我是一个全新的论坛和编码世界,我,将重新解释我试图完成什么。也许是个函数?我修改了下面的数据,使之更符合我所使用的示例。
我们每天都会收到一个文本文件,上面有一个被终止的员工id列表,我们需要在应用程序中停用它。我知道这仍然是手动的,但我认为这是一个良好的开端,一些自动化。
上 dbo.EnterpriseUser
表中,我们需要通过查找 IVRID
(这是员工的id),然后更新 IsActive
字段自 1
至 0
,然后更新 LastModDate
使用相同格式的当前日期和时间。下面是我正在使用的示例表,如果格式不正确,很抱歉。
CREATE TABLE IF NOT EXISTS EnterpriseUser (
`EnterpriseUserID` INT,
`FirstName` VARCHAR(6) CHARACTER SET utf8,
`LastName` VARCHAR(7) CHARACTER SET utf8,
`IVRID` INT,
`IsActive` INT,
`LastModDate` DATETIME
); 插入enterpriseuser值(6,'robert','andrews',2,1,'2018-07-11 13:01:54.670000');
第二张table dbo.Staff
也必须为应用程序正确更新。我唯一的问题是要找到要更新的记录,我必须使用 EnterpriseUserID
字段自 dbo.EnterpriseUser
现在在 StaffID
场上的 dbo.Staff
table。
在那一排 LastModDate
必须更改为当前日期 IsActive
必须从 1
至 0
.
CREATE TABLE IF NOT EXISTS Staff (
`StaffID` INT,
`FirstName` VARCHAR(6) CHARACTER SET utf8,
`LastName` VARCHAR(7) CHARACTER SET utf8,
`LastModDate` DATETIME,
`IsActive` INT
);
INSERT INTO Staff VALUES
(6,'Robert','Andrews','2018-07-11 13:01:54.670000',1);
3条答案
按热度按时间uoifb46i1#
行动组要求
the best possible way to do this
,我从来没有遇到过这样一个过程:最好的解决方案是手动键入数据。将您的列表导入一个等待表。使用该表查找并更新受影响的记录。将列表存档,每条记录上都有一个日期戳,标明处理时间。
这使用sql server语法,但没有什么特别之处。很容易翻译成不同的方言。
sbtkgmzw2#
您可以使用如下update语句:
jjjwad0x3#
如果要手动检查它们,可以使用update语句。
如果要在表中插入雇员,可以创建触发器,以便在每次插入时检查这些雇员。