Sql-Server

返回不同值的過程

  • March 14, 2017

我有一個程序TempSalesUpdateID可以獲取 TempSales 表中的所有 ProductName 列並將其設置為相應的 ProductID。

ALTER PROCEDURE [dbo].[TempSalesUpdateID]
AS
UPDATE T 
SET        T.ProductID = P.ProductID 
FROM       TempSales T 
INNER JOIN Products P 
ON         P.PN=T.ProductName

當我通過 SQL Server Management Studio 執行它時,它執行完美:當它找到相應的 ID 時,它會填充 ProductID 列,否則將其保留為 NULL。

當我從我的 C# Windows 窗體應用程序執行它時,它會放置幾乎隨機的數字而不是保留 NULL(那些沒有相應 ID 的數字)。

我說幾乎是因為:13098 行的值為 1 而不是 NULL,14742 行的值為 2 而不是 NULL,13601 的值為 3,等等。

請你幫助我好嗎?我真的迷路了

該問題已通過使用新連接來執行該過程得到解決。

我認為如果有人處於同樣的情況,這可能會有所幫助。

引用自:https://dba.stackexchange.com/questions/166861