当我试图通过PowerShell在数据库中插入新数据时,它可以工作。
但是,如果数据已经在数据库中,则会出现异常。
有人也有类似的问题,Catch exception calling "ExecuteNonQuery",但我相信我在PowerShell代码中使用了正确的SQL语句,这里我说的是SELECT 1。
$SQL_insert = "BEGIN
IF NOT EXISTS (SELECT 1
FROM [dbo].[Group_Stats]
WHERE Date_of_Record = CAST(GETDATE() AS DATE)
AND [Group] = '$group')
BEGIN
INSERT INTO [dbo].[Group_Stats] ([Date_of_Record], [Group], [Windows_SEP_11],[Mac_SEP_11],[Windows_SEP_12],[Mac_SEP_12])
VALUES (CAST(GETDATE() AS DATE), REPLACE ('$group', 'My Company\', ''), $win_sep_11, $mac_sep_11, $win_sep_12, $mac_sep_12)
END
END"异常
Exception calling "ExecuteNonQuery" with "0" argument(s): "Violation of PRIMARY KEY constraint 'PK_Group_Stats'. Cannot insert duplicate key in object 'dbo.Group_Stats'. 这是数据库

谢谢
发布于 2015-06-01 13:39:51
您正在查询未修剪的组名称,但当您插入时,请调用REPLACE()将"My“从$group中删除。相反,您应该先修剪$group,然后在不调用REPLACE()的情况下查询和插入。
https://stackoverflow.com/questions/30574812
复制相似问题