Thread View: be.comp.programming
7 messages
7 total messages
Started by Passero
Sun, 09 Nov 2003 16:49
SQL vraagje
Author: Passero
Date: Sun, 09 Nov 2003 16:49
Date: Sun, 09 Nov 2003 16:49
5 lines
1477 bytes
1477 bytes
Is het mogelijk om met sql een soort van replace door te voeren? IK heb een tabel met een 2000 duizend tal records. DIe verwijzen naar een bestand. Die bestanden beginnen allemaal met c:\ . Ik heb nu een nieuwe pc en die bestanden staan op f:\ ik zou dus een sql statement willen schrijven die c:\ vervangt door f:\ . Iemand een idee hoe ik dat doe?
Re: SQL vraagje
Author: KLinZ
Date: Sun, 09 Nov 2003 17:12
Date: Sun, 09 Nov 2003 17:12
19 lines
1922 bytes
1922 bytes
In news:9eurb.14091$lL3.444535@phobos.telenet-ops.be, Passero typed: > Is het mogelijk om met sql een soort van replace door te voeren? IK > heb een tabel met een 2000 duizend tal records. DIe verwijzen naar > een bestand. Die bestanden beginnen allemaal met c:\ . Ik heb nu een > nieuwe pc en die bestanden staan op f:\ ik zou dus een sql statement > willen schrijven die c:\ vervangt door f:\ . Iemand een idee hoe ik > dat doe? Welk SQL dialect? Met T-SQL van MS-SQL server kun je dit bijvoorbeeld met de functie Replace() doen. update table set veld = replace(veld, 'c:\', 'f:\') Het is natuurlijk nog beter om helemaal geen driveletters in je database op te slaan, maar dit door je applicatie af te laten handelen. -- www.zenobits.com
Re: SQL vraagje
Author: Dr.Ruud
Date: Sun, 09 Nov 2003 17:24
Date: Sun, 09 Nov 2003 17:24
24 lines
1771 bytes
1771 bytes
Toen ik Passero kietelde, kwam er dit uit:
> Is het mogelijk om met sql een soort van replace door te voeren?
Ja.
> Ik heb
> een tabel met een 2000 duizend tal records. Die verwijzen naar een
> bestand. Die bestanden beginnen allemaal met c:\. Ik heb nu een nieuwe
> pc en die bestanden staan op f:\ ik zou dus een sql statement willen
> schrijven die c:\ vervangt door f:\.
Welke SQL?
Wat is het data-type van de kolom waarin die bestandsnamen
(of -paden) staan? (zal wel tekst zijn, maar wie weet is
het een OLE-object of zo).
Tekst-voorbeeld:
UPDATE tbl SET tbl.fname = "F" & Mid(tbl.fname,2)
WHERE Left(tbl.fname,2)="C:"
--
Affijn, Ruud
Re: SQL vraagje
Author: Passero
Date: Sun, 09 Nov 2003 18:48
Date: Sun, 09 Nov 2003 18:48
28 lines
2051 bytes
2051 bytes
"KLinZ" <klinz@NOSPAMzenobitsSPAMNO.com.invalid> schreef in bericht news:dBurb.2238$%W3.18823@amstwist00... > > Welk SQL dialect? Met T-SQL van MS-SQL server kun je dit bijvoorbeeld met de > functie Replace() doen. > Het is een access db... dus het is waarschijnlijk ms sql. maar werkt niet met sql server > update table set veld = replace(veld, 'c:\', 'f:\') > > Het is natuurlijk nog beter om helemaal geen driveletters in je database op > te slaan, maar dit door je applicatie af te laten handelen. > Ik weet dat het zo beter zou geweest zijn maar ik heb die applicatie geschreven in de tijd dat ik van nog niet beter wist. Ik kende enkel de syntax. Nu heb ik al veel meer bijgeleerd en ik ben van plan om het opnieuw te maken met een extra tabel voor de mappen. > -- > www.zenobits.com >
Re: SQL vraagje
Author: Tim Van Wassenhove
Date: Sun, 09 Nov 2003 19:57
Date: Sun, 09 Nov 2003 19:57
30 lines
2059 bytes
2059 bytes
On 2003-11-09, Passero <yanongena@pandora.be> wrote: >> update table set veld = replace(veld, 'c:\', 'f:\') >> >> Het is natuurlijk nog beter om helemaal geen driveletters in je database > op >> te slaan, maar dit door je applicatie af te laten handelen. >> > > Ik weet dat het zo beter zou geweest zijn maar ik heb die applicatie > geschreven in de tijd dat ik van nog niet beter wist. Ik kende enkel de > syntax. Nu heb ik al veel meer bijgeleerd en ik ben van plan om het opnieuw > te maken met een extra tabel voor de mappen. Een kleine analyse: Indien voor elk element uit de tabel de waarde van het attribuut veld begint met dezelfde DRIVE letter, kan je het veld zien als een samengestelling van DRIVE + PATH (en bewaar je dus alleen PATH). Indien bepaalde elementen een waarde voor het attribuut veld de waarde c:\foo hebben en andere de waarde d:\bar lijkt het me onzinnig om die waarde te gaan opdelen in DRIVE + PATH (omdat ze een onlosmakelijk geheel zijn). Als ik hier nu de bal volledig mis sla, laat dan van je horen. Zo leren we allemaal nog wat bij :) -- My jabber handle is aardbei@jabber.org
Re: SQL vraagje
Author: Rene
Date: Mon, 10 Nov 2003 08:14
Date: Mon, 10 Nov 2003 08:14
10 lines
1493 bytes
1493 bytes
"Passero" <yanongena@pandora.be> schreef in bericht news:g_vrb.14425$7%3.485441@phobos.telenet-ops.be... > Het is een access db... dus het is waarschijnlijk ms sql. maar werkt niet > met sql server Ik weet niet of Access STRLEN / LEN en RIGHT functies kent, anders zou je een update kunnen doen van veld = "C" + RIGHT (veld, LEN(veld)-1). Anders kun je altijd nog (oudbollig ) export maken naar ASCII, snelle editor (bijv. van MSVC++ maar geen notepad), zoek en vervang en importeren :-)
Re: SQL vraagje
Author: Passero
Date: Mon, 10 Nov 2003 09:09
Date: Mon, 10 Nov 2003 09:09
27 lines
2162 bytes
2162 bytes
"Tim Van Wassenhove" <euki@pi.be> schreef in bericht news:bom675$1fp4ci$1@ID-188825.news.uni-berlin.de... > > Een kleine analyse: > > Indien voor elk element uit de tabel de waarde van het attribuut veld > begint met dezelfde DRIVE letter, kan je het veld zien als een > samengestelling van DRIVE + PATH (en bewaar je dus alleen PATH). > > Indien bepaalde elementen een waarde voor het attribuut veld de waarde > c:\foo hebben en andere de waarde d:\bar lijkt het me onzinnig om die > waarde te gaan opdelen in DRIVE + PATH (omdat ze een onlosmakelijk > geheel zijn). > > Als ik hier nu de bal volledig mis sla, laat dan van je horen. Zo leren > we allemaal nog wat bij :) > > Je hebt gelijk. Al de bestanden staan eigenlijk op 1 harde schijft. Dus moet ik enkel de map opslaan en eventueel de letter van de schijf in het register of .ini file opslaan. > -- > My jabber handle is aardbei@jabber.org
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads