我更改了我的存储过程以使用 Merge,这样我就可以在它们不存在时插入条目,或者在我存在时更新它们。
运行以下脚本后,我可以查看我的表,我是否需要删除合并表或结束它或其他什么?
当我运行选择前 1000 个查询时,它只是挂起。
下面的 SQL 中是否存在会导致此错误的内容?
ALTER PROCEDURE [Suppliers].[ProductPropertyInsert]
@ProductId int
,@PropertyId int
,@PropertyValue nvarchar(50)
AS
BEGIN
SET NOCOUNT ON;
MERGE Suppliers.ProductProperties AS target
USING (SELECT @ProductId, @PropertyId) AS source (ProdId, PropId)
ON (target.ProductId = source.ProdId)
WHEN MATCHED THEN
UPDATE SET PropertyValue = @PropertyValue
WHEN NOT MATCHED THEN
INSERT (ProductId, PropertyId, PropertyValue)
VALUES (@ProductId, @PropertyId, @PropertyValue);
INSERT INTO Suppliers.ProductProperties (ProductId, PropertyId, PropertyValue)
VALUES(@ProductId, @PropertyId, @PropertyValue)
END