Tema: Re: oracle file db, gal yra?
Autorius: Jornada Del Muerto
Data: 2012-03-30 11:33:11
Cia mano atveju toks delikatus trick'sas yra, klientas sukures programa kitam klientui, o veliau padares universalia jos versija ir dabar nori pritaikyt universalia ir sitam klientui, kur buvo tokia pati progama tik neuniversali. O pagal ju universalu standarta jie siuncia vienu ID maziau, kurio ir reikia laikytis.
Na ir yra tam tikri duomenys, mazdaug:
users
-----
UserId
UserId2
Name
objects
-----
ObjectId
ResponsibleUserId -- atsakingas uz objekta useris (abejuose variantuose prisiskiria UserId)
DedicatedUserId -- useris kuris naudoja objekta (universaliam variante prisiskiria UserId, adaptuojamam variante UserId2)
ir t.t...
Tai va universalioje strukturoje eina taspats id objektu siem abiem userId laukams, o senoje versijoje, eina skirtingi ID, nes ju sistemos DB kitokia, bet as negaliu imt 2 useriuID nes programos i kuria eksportuojama keisti negalima ir net jei ji ir perdavus su antru id nieko nedarys tas softas.
Del to as darau taip:
SELECT UserId, Name FROM users
SELECT
O.ObjectId,
O.ResponsibleUserId,
U.UserId AS DedicatedUserId
O.Name
INNER JOIN users U On O.DedicatedUserId = U.UserId2
Cia suzinau koks to userio UserId pagal priskirta objektui UserId2 kadangi abu id kiekviens useris turi ir paduodu viena id.
Dabar atgal einant duomenim reikia man viska atkeist i savo vietas:)
Pakolkas tai padariau mazdaug taip:
1. Eksporto startas:
SELECT UserId, UserId2 FROM users
Mapinu rezultata i Dictionary<string,string>
Tada gaunu objektu duomenis ir sukeitineju pagal dictionary map kiekviena ID atiduodamas, kur pagal userId paimu userId2... :)
Na cia aisku su update su inner join butu geriau.
JDM.