我有一个表,其中包含有关会话的数据。我想为最近添加的每个新会话行插入硬编码值。
例如,给定该表并在
处添加了3个会话行信息2/10/2019 5:15 PM
我想将 server1 和 business 值插入3行(第1-3行)最晚UDPATE_TIME
,在这种情况下为
2/10/2019 5:15 PM
我使用此查询来获取最新的更新时间:
$update_time = query "SELECT FORMAT(MAX([UPDATE_TIME]), 'M/d/yyyy h:mm tt') AS UPDATE_TIME FROM table"| Select -ExpandProperty UPDATE_TIME;
并且我使用此插入查询来插入值:
query "INSERT INTO table (SERVERNAME, Business_Name) VALUES ('server1', 'business')"
但是,如您所见,它插入了新行(row4),而我想插入已经存在1-3的行,这样它就变成了这样:
我要查询的伪代码:
query "INSERT INTO table (SERVERNAME, Business_Name) VALUES ('server1', 'business') wherever $update_time
答案 0 :(得分:2)
我认为您想要更新。像这样:
update [table]
set business_name = @business_name
where update_time = (select max(t2.update_time) from [table] t2);
在插入之后进行更新似乎很危险-不同的线程可能同时插入数据。但这回答了您确实提出的问题。