Ich habe meine Prozedur und ich bekomme diesen Fehler, kann jemand helfen?Unterabfrage hat mehr als einen Wert zurückgegeben. Dies ist nicht erlaubt, wenn die Unterabfrage
create procedure [dbo].[insert_pohead] @entry_no int
as
begin
declare @VendorID varchar(100);
declare @userr nvarchar(25);
declare @podamt decimal(8,2)
set @podamt = (select SUM(linetotal) as Totalamt
from po_detail
where entry_no = @entry_no)
set @userr = (select userr
from po_detail
where entry_no = @entry_no)
set @VendorID = (select VendorID
from po_detail
where entry_no = @entry_no)
insert into po_head(entry_no, SubTotal, valid, approved, EmployeeID, VendorID)
values(@entry_no, @podamt, '1', '1', @userr, @VendorID)
end
GO
Entweder Ihr 'wählen userr' oder' wählen VendorID' Subqueries scheinen mehr als einen Wert zurück, so dass Sie versuchen, stopfen mehr als einen Wert in eine einzelne Variable. Wie man die Prozedur umschreibt, hängt davon ab, wie die tatsächlichen Daten aussehen. –
mein Ziel ist es, VendorID, userr, Summe von linetotal von po_details Tabelle, wo entry_no übergeben wird, abzurufen und diese in po_head Tabelle über eine Prozedur einzufügen. bitte helfe – Emma