subquery i insert fejler
KOrt. jeg kører MSSQL2005. nedenstående kode giver efterfølgende fejl. Nogen ide?INSERT INTO [Pricelist].[dbo].[netpricelists]([currency],[curr_rate],[discount],[netprice],[product],[validity],[generateddate],[genratedini],[stdnetlstid],[s_GUID],[CRM_accountID])
SELECT top 2 netpricelists.[currency], netpricelists.[curr_rate],netpricelists.[discount],netpricelists.[netprice],netpricelists.[product],netpricelists.[validity], getdate(),'at', null, newid(),'a9882799-36d1-da11-8917-00137240d500'
FROM netpricelists
fejl: Msg 512, Level 16, State 1, Procedure T_netpricelists_ITrig, Line 6
Subquery returned more than 1 value. This is not permitted when the subquery follows =, !=, <, <= , >, >= or when the subquery is used as an expression.
The statement has been terminated.
trigger ser sådan ud:
set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
go
ALTER TRIGGER [T_netpricelists_ITrig] ON [dbo].[netpricelists] FOR INSERT AS
SET NOCOUNT ON
DECLARE @randc int, @newc int /* FOR AUTONUMBER-EMULATION CODE */
/* * RANDOM AUTONUMBER EMULATION CODE FOR FIELD 'ID' */
SELECT @randc = (SELECT convert(int, rand() * power(2, 30)))
SELECT @newc = (SELECT ID FROM inserted)
UPDATE netpricelists SET ID = @randc WHERE ID = @newc