在SQL方案中使用更新和插入查询时遇到问题

时间:2018-06-13 04:16:58

标签: mysql sql relational-database

我已经为即将进行的技术访谈提供了一个示例SQL问题。我无法理解如何处理/解释这个问题的解决方案。

  

客户的合约于4/4/2018开始,于1月1日结束。   客户签署延期,更改条款从2/10/2024开始,截至11/11/2045。   编写更新旧合同所需的查询并插入新合同。

我是否会构建包含示例记录的简单数据库表,例如:clientID,contract,cStartDate,cEndDate

然后编写INSERT INTO和UPDATE查询?或者他们在这里寻找不同的东西?

3 个答案:

答案 0 :(得分:0)

我认为你正在寻找像这样的查询,

更新表格 - >

UPDATE <YOUR_CONTRACT_TABLE> 
SET cStartDate = '2-10-2024', cEndDate= '11-11-2045'
WHERE id=<YOUR_CONTRACT_ID> ;

插入表格 - &gt;

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');

答案 1 :(得分:0)

也许你可以创建一个包含字段contractID,clientID,cStartDate,cEndDate,notes,status

的表

通过这种方式,您可以简单地向表中插入新的合约详细信息并更新状态字段,以便当前的活动合约具有唯一的状态,例如,0 - &gt;存档,1 - &gt;活跃等等。

或者,如果您不想要历史数据,则可以省略状态字段,只需使用clientID和contractID更新开始日期和结束日期(如果客户有多个合同)

答案 2 :(得分:0)

如果不了解相关的表定义,relvar谓词和业务规则,则无法有意义地回答该问题。没有足够的信息。你可以猜测并做出假设(即定义你自己的表格和规则),但如果这是问题的关键点,它应该这样说。