Avatar billede jostein Nybegynder
27. maj 2004 - 09:19 Der er 5 kommentarer og
1 løsning

SQL Problemer med update

Hej Eksperter

Jeg har et problem, jeg skal lave en update på et felt i en tabel
den aktuelle record kan jeg godt finde med følgende select

select a.navn from pauseevt a,simdb b where b.pausenr = a.PAUSENR and a.LINIE ='Linie 28'

Men når jeg prøver at bruge min select sætning som SubQuerry i en update får jeg meddelesen ORA-00936: manglende udtryk

Min update ser således ud:
update pauseevt set navn = 'Jens' where (select * from pauseevt a,simdb b where b.pausenr = a.PAUSENR and a.LINIE ='Linie28')

Hvad gør jeg forkert ?

mvh

Jostein
Avatar billede arne_v Ekspert
27. maj 2004 - 09:25 #1
Man kan ikke sige
  ... WHERE (SELECT ...)

Måske mener du:
  ... WHERE EXISTS (SELECT ...)
Avatar billede jostein Nybegynder
27. maj 2004 - 09:42 #2
Hvis jeg skriver
update pauseevt set navn = 'jens' where EXISTS (select * from pauseevt a,simdb b where b.pausenr = a.PAUSENR and a.LINIE ='Linie28')
opdaterer den samtlige records i min tabel.
Hvis jeg kører min select alene finder den kun 1 record, hvilket også er rigtigt.
Det ser ud til den ser bort fra min select ??
Avatar billede arne_v Ekspert
27. maj 2004 - 09:49 #3
prøv evt:

update pauseevt x set x.navn = 'jens' where EXISTS (select * from pauseevt a,simdb b where b.pausenr = a.PAUSENR and a.LINIE ='Linie28' and a.pausenr=x.pausenr)
Avatar billede jostein Nybegynder
27. maj 2004 - 10:11 #4
Det virkede! tak for hjælpen !
Avatar billede arne_v Ekspert
27. maj 2004 - 10:13 #5
Så ligger jeg et svar
Avatar billede arne_v Ekspert
27. maj 2004 - 10:15 #6
Jeg tror iøvrigt at:

update pauseevt a set navn = 'Jens'
where a.LINIE ='Linie28' and exists (select * from simdb b where b.pausenr = a.PAUSENR)

vil virke ligesådan
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





White paper
Sikkerhed gjort enkelt: Beskyt din virksomhed direkte i browseren