Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

erro em instruções Multiple Select na instrução Insert


Basta alterar VALUES para SELECT e remover os parênteses externos.
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

Você também pode precisar de um TOP 1 nas subexpressões, mas isso daria uma mensagem de erro diferente:a subconsulta retornou mais de um valor.