Hej, är kolumnen NR primär nyckel eller UNIQUE? tjenare, jaja, vi kan borse från det här, Om du ändå bara ska räkna upp värdena i kolumnen nr, varför inte låta SQL Server göra det åt dig med identity(1,1)?procedure
Jag har lite problem me min procedure, den har som uppgift att kolla på
det störta värdet av incidentnr i en tabell, om den existerar, så ska den
öka på den med 1.
CREATE PROCEDURE nr
@nr integer,
@namn varchar(15),
@plats varchar(30)
AS
DECLARE @TEMPINT INTEGER;
INSERT INTO test(nr,namn,plats) VALUES(@nr,@namn,@plats)
IF(@@ERROR<>0) BEGIN
SELECT @TEMPINT=MAX(nr)
FROM test;
SET @TEMPINT=@TEMPINT+1;
INSERT INTO test(nr,namn,plats) VALUES(@nr,@namn,@plats);
END
GO
kan för övrigt säga att vid execute så säger den:
Server: Msg 2627, Level 14, State 1, Procedure inci, Line 8
Violation of PRIMARY KEY constraint 'PK__incident__07F6335A'. Cannot insert duplicate key in object 'incident'.
The statement has been terminated.
Server: Msg 2627, Level 14, State 1, Procedure inci, Line 13
Violation of PRIMARY KEY constraint 'PK__incident__07F6335A'. Cannot insert duplicate key in object 'incident'.
The statement has been terminated.
förstår felmeddelandet, men det är juh det man vill komma ifrån med proceduren..:)Sv: procedure
Hur ser tabellerna ut, har du några index på dem, constraints osv.
Tror att du har ett unikt index på NR-, Plats- och/eller Namn-kolumnen.
Men det är bara en gissning. Få se på tabelldefinitionerna ska vi kunna lösa detta.
/MattiasSv:procedure
börjar bli frustrerande..
jag har inga index inlagda ännu, det ändra som finns om jag inte lägger in proceduren så klart
är
min tabell, ser ut så här...
create table incident(
namn varchar(25)not null,
nr integer not null,
plats varchar(30) not null,
primary key(nr),
)Sv: procedure
det är så här det går när man inte sover ordentligt!! idiotbuggar!!
vid inserten om nr finns så ska självklart TEMPINT skickas istället för nr ...
INSERT INTO incident(nr,namn,plats) VALUES(@TEMPINT,@namn,@plats);
tack iaf!
på återseende! :)Sv: procedure