🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: be.comp.programming
7 messages
7 total messages Started by Passero Sun, 09 Nov 2003 16:49
SQL vraagje
#3683
Author: Passero
Date: Sun, 09 Nov 2003 16:49
5 lines
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
#3684
Author: KLinZ
Date: Sun, 09 Nov 2003 17:12
19 lines
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
#3685
Author: Dr.Ruud
Date: Sun, 09 Nov 2003 17:24
24 lines
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
#3686
Author: Passero
Date: Sun, 09 Nov 2003 18:48
28 lines
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
#3687
Author: Tim Van Wassenhove
Date: Sun, 09 Nov 2003 19:57
30 lines
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
#3690
Author: Rene
Date: Mon, 10 Nov 2003 08:14
10 lines
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
#3691
Author: Passero
Date: Mon, 10 Nov 2003 09:09
27 lines
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