Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

erreur dans les instructions Select multiples dans l'instruction Insert

Remplacez simplement VALUES par SELECT et supprimez les parenthèses extérieures.

INSERT INTO dbo.Products 
(ProductName, 
 SupplierID, 
 CategoryID, 
 UnitsInStock, 
 UnitsOnOrder, 
 ReorderLevel, 
 Discontinued)
SELECT  
'Twinkies' , 
 (SELECT SupplierID FROM dbo.Suppliers WHERE CompanyName = 'Lyngbysild'),
 (SELECT CategoryID FROM dbo.Categories WHERE CategoryName = 'Confections'), 
 0, 
 0, 
 10, 
 0

Vous pouvez également avoir besoin d'un TOP 1 sur les sous-expressions, mais cela donnerait un message d'erreur différent :la sous-requête a renvoyé plusieurs valeurs.