背景:SQL服務器管理Studio 2008的R2SQL插入數據到表有外鍵
DataTable: ProductID(PK, bigint), ProductNameID(FK, int), Price(Decimal)
ProductNameTable: ProductNameID(PK, int), ProductName(varchar)
所以我需要像「123.4,AAA」(價格,產品名稱)的數據插入到數據表中,但與ProductNameID是FK,
我該怎麼做? BEC ProductNameID是自動遞增
這是我的代碼至今:
CREATE PROCEDURE DataInsertSP
@Price DECIMAL(8, 2), @ProductName VARCHAR(20)
AS
BEGIN
DECLARE @NewProductNameID INT
INSERT INTO ProductNameTable(ProductName)
VALUES (@ProductName)
SELECT @NewProductNameID = SCOPE_IDENTITY()
INSERT INTO DataTable(ProductNameID, Price)
VALUES (@NewProductNameID, @Price);
END;
EXECUTE DataInsertSP
@Price = 12.25 , @ProductName = 'Argo'
請給我一些建議,非常感謝
現有的代碼看起來不錯,除了你需要'@ NewProductNameID'是'BIGINT'。 –
你有什麼錯誤? – briskovich
任何原因你有兩個不同的表?由於價格和名稱都依賴於productID,因此您希望爲所有這些數據創建一個表,以便以正常形式使用。 –