/ Forside / Teknologi / Udvikling / SQL / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
SQL
#NavnPoint
pmbruun 1704
niller 962
fehaar 730
Interkril.. 701
ellebye 510
pawel 510
rpje 405
pete 350
gibson 320
10  smorch 260
[mssql] Slette med TOP/LIMIT 1 ?
Fra : Thomas Damgaard


Dato : 27-10-03 09:43

Hej,

Jeg har et problem med MS SQL.
Jeg vil slette den række i min tabel hvor ID er noget bestemt, men jeg vil
sikre mig at der kun bliver slettet een række.
Det gør jeg normalt i MySQL således:
DELETE FROM tabel WHERE id = '$id' LIMIT 1
Men i MSSQL dur dette ikke:
DELETE TOP 1 FROM tabel WHERE ID = $id

Får:
Server: Msg 156, Level 15, State 1, Line 1
Incorrect syntax near the keyword 'TOP'.

Hvis jeg ikke kan bruge TOP i en DELETE query, hvordan kan jeg så sikre mig
at der kun bliver slettet én række?
Jeg kan naturligvis først SELECT'e hvor ID = $id og tjekke at den kun får
fat i 1, men jeg vil helst lave det i een query.

Mvh
Thomas Damgaard



 
 
Jens Gyldenkærne Cla~ (27-10-2003)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 27-10-03 11:02

Thomas Damgaard skrev:

> DELETE TOP 1 FROM tabel WHERE ID = $id

Har du en primærnøgle i tabellen?

I så fald kan du prøve med

DELETE
FROM tabel
WHERE primærnøgle IN
   (SELECT TOP 1 primærnøgle
   FROM tabel
   WHERE ID = $id)
--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html

Søg
Reklame
Statistik
Spørgsmål : 177500
Tips : 31968
Nyheder : 719565
Indlæg : 6408518
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste