Avatar billede wildthing Nybegynder
04. august 2006 - 11:49 Der er 1 kommentar og
1 løsning

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
Avatar billede wildthing Nybegynder
04. august 2006 - 15:01 #1
Hmm. lader til at autonumber triggeren der driller. hvis jeg disabler triggeren virker det (kan jeg køre mere end 1 record ind i tabellen), men derved røg min identifier sig en tur, og den kommer ikke på igen blot ved at enable den. ihvertfald viser identity under properties nu "no" og increment er blank:(

Er det umuligt at kombinere dette. jeg kan se at jeg kan anvende newid() på en GUID kolonne, og den virker tilsyneladende ved masse oprettelse, og den er jo også ligesom unik.

igen er der en der kan bekræfte noget af mit ævl...:)
Avatar billede wildthing Nybegynder
21. marts 2007 - 14:35 #2
lukkes
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester