【发布时间】:2018-07-12 10:41:45
【问题描述】:
我是 SQL 新手,包括执行查询。每天,我们的组织都会以列出的格式发送一份被解雇的员工名单。
我们每天都会收到一个文本文件,其中包含已终止的员工 ID 列表,我们需要在应用程序的数据库中将其停用。我知道这仍然是手动的,但我认为这是一些自动化的良好开端。我们基本上需要做两个任务,在数据库中的两个位置找到用户,然后将其停用。
也许是一个函数?
1. 在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
);
INSERT INTO EnterpriseUser VALUES
(6,'Robert','Andrews',2,1,'2018-07-11 13:01:54.670000');
2. 第二个表dbo.Staff 也必须为应用程序正确更新。我唯一的问题是要找到要更新的记录,我必须使用来自dbo.EnterpriseUser 的EnterpriseUserID 字段,因为它现在位于dbo.Staff 表的StaffID 字段中。
在该行上,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);
【问题讨论】:
-
第二个问题的格式很好。感谢 DDL
标签: mysql sql qsqlquery qsqltablemodel