在 SQL 场景中使用更新和插入查询时遇到问题
Having trouble utilizing an update and insert query in a SQL scenario
我收到了即将进行的技术面试的示例 SQL 问题。我无法理解如何处理/解释这个问题的解决方案。
A client has a contract that started on 4/4/2018 and ends on 1/1/2029.
The client signs a continuation with changed terms that starts on 2/10/2024, ending on 11/11/2045.
Write the queries needed to update the old contract and insert the new contract.
我会构建包含示例记录的简单数据库 table(s),例如:clientID、合同、cStartDate、cEndDate
然后编写 INSERT INTO 和 UPDATE 查询?或者他们在这里寻找不同的东西?
我认为您正在寻找这样的查询,
更新Table -->
UPDATE <YOUR_CONTRACT_TABLE>
SET cStartDate = '2-10-2024', cEndDate= '11-11-2045'
WHERE id=<YOUR_CONTRACT_ID> ;
插入到 Table -->
INSERT INTO <YOUR_CONTRACT_TABLE> (id,clientID, contract, cStartDate, cEndDate)
VALUES (<YOUR_CONTRACT_ID>,<YOUR_CLIENT_ID>, <YOUR_CONTRACT_NAME>, '3-3-2026', '11-11-2039');
也许您可以创建一个 table,其中包含字段 contractID、clientID、cStartDate、cEndDate、notes、status
通过这种方式,您可以简单地将新合同详细信息插入 table 并更新状态字段,以便当前有效合同具有唯一状态,例如,0 -> 已存档,1 ->活跃等
或者,如果您希望不需要历史数据,则可以省略状态字段并使用 clientID 和 contractID(如果客户有多个合同)简单地更新开始和结束日期
如果不了解相关的 table 定义、relvar 谓词和业务规则,您就无法有意义地回答该问题。没有足够的信息。您可以猜测并做出假设(即定义您自己的 table(s) 和规则),但如果这是问题的重点,它应该这么说。
我收到了即将进行的技术面试的示例 SQL 问题。我无法理解如何处理/解释这个问题的解决方案。
A client has a contract that started on 4/4/2018 and ends on 1/1/2029. The client signs a continuation with changed terms that starts on 2/10/2024, ending on 11/11/2045. Write the queries needed to update the old contract and insert the new contract.
我会构建包含示例记录的简单数据库 table(s),例如:clientID、合同、cStartDate、cEndDate
然后编写 INSERT INTO 和 UPDATE 查询?或者他们在这里寻找不同的东西?
我认为您正在寻找这样的查询,
更新Table -->
UPDATE <YOUR_CONTRACT_TABLE>
SET cStartDate = '2-10-2024', cEndDate= '11-11-2045'
WHERE id=<YOUR_CONTRACT_ID> ;
插入到 Table -->
INSERT INTO <YOUR_CONTRACT_TABLE> (id,clientID, contract, cStartDate, cEndDate)
VALUES (<YOUR_CONTRACT_ID>,<YOUR_CLIENT_ID>, <YOUR_CONTRACT_NAME>, '3-3-2026', '11-11-2039');
也许您可以创建一个 table,其中包含字段 contractID、clientID、cStartDate、cEndDate、notes、status
通过这种方式,您可以简单地将新合同详细信息插入 table 并更新状态字段,以便当前有效合同具有唯一状态,例如,0 -> 已存档,1 ->活跃等
或者,如果您希望不需要历史数据,则可以省略状态字段并使用 clientID 和 contractID(如果客户有多个合同)简单地更新开始和结束日期
如果不了解相关的 table 定义、relvar 谓词和业务规则,您就无法有意义地回答该问题。没有足够的信息。您可以猜测并做出假设(即定义您自己的 table(s) 和规则),但如果这是问题的重点,它应该这么说。