单击按钮时自定义挂钩不起作用
Custom hook doesn't work when called on button click
我无法找到此 SQL 语句的错误之处。我使用的是最新的 pyodbc
和 ODBC Driver 17 for SQL Server
,声明如下:
insert_sql = """MERGE VehicleDistanceReport trg
USING (VALUES (?, ?, ?))
src(
Distance,
Ic_Siparis_No,
Vehicle_Hour
)
ON trg.Ic_Siparis_No = src.Ic_Siparis_No
WHEN MATCHED THEN
UPDATE SET
Distance = src.Distance,
Ic_Siparis_No = src.Ic_Siparis_No,
Vehicle_Hour = src.Vehicle_Hour
WHERE trg.NodeGroup LIKE N'%AĞIR%' OR trg.NodeGroup LIKE N'%MAKİNE%'
WHEN NOT MATCHED THEN
INSERT(
id,
Record_No,
Device_No,
License_Plate,
Inı
Distance,
Ic_Siparis_No,
Vehicle_Hour
)
VALUES(
src.Distance,
src.Ic_Siparis_No,
src.Vehicle_Hour
);"""
它说 WHERE
语句附近有语法错误,但查询似乎在 SQL 服务器中有效。
您的 WHEN MATCHED
子句是错误的,因为 WHERE
应该是一个条件。也没有 pooint 更新 Ic_Siparis_No
因为它无论如何都是加入条件
WHEN MATCHED AND trg.NodeGroup LIKE N'%AĞIR%' OR trg.NodeGroup LIKE N'%MAKİNE%' THEN
UPDATE SET
Distance = src.Distance,
Vehicle_Hour = src.Vehicle_Hour
不要试图将此条件放在 ON
子句中,它会导致不正确的结果。
我无法找到此 SQL 语句的错误之处。我使用的是最新的 pyodbc
和 ODBC Driver 17 for SQL Server
,声明如下:
insert_sql = """MERGE VehicleDistanceReport trg
USING (VALUES (?, ?, ?))
src(
Distance,
Ic_Siparis_No,
Vehicle_Hour
)
ON trg.Ic_Siparis_No = src.Ic_Siparis_No
WHEN MATCHED THEN
UPDATE SET
Distance = src.Distance,
Ic_Siparis_No = src.Ic_Siparis_No,
Vehicle_Hour = src.Vehicle_Hour
WHERE trg.NodeGroup LIKE N'%AĞIR%' OR trg.NodeGroup LIKE N'%MAKİNE%'
WHEN NOT MATCHED THEN
INSERT(
id,
Record_No,
Device_No,
License_Plate,
Inı
Distance,
Ic_Siparis_No,
Vehicle_Hour
)
VALUES(
src.Distance,
src.Ic_Siparis_No,
src.Vehicle_Hour
);"""
它说 WHERE
语句附近有语法错误,但查询似乎在 SQL 服务器中有效。
您的 WHEN MATCHED
子句是错误的,因为 WHERE
应该是一个条件。也没有 pooint 更新 Ic_Siparis_No
因为它无论如何都是加入条件
WHEN MATCHED AND trg.NodeGroup LIKE N'%AĞIR%' OR trg.NodeGroup LIKE N'%MAKİNE%' THEN
UPDATE SET
Distance = src.Distance,
Vehicle_Hour = src.Vehicle_Hour
不要试图将此条件放在 ON
子句中,它会导致不正确的结果。