30. september 2004 - 13:35Der er
8 kommentarer og 1 løsning
Ændre værdier i database
I forbindelse med en Access frontend som benytter en SQL Server backend, skal jeg have ændret en masse værdier. De værdier der skal ændres er værdier fra checkfelter på en Access formular. I Access er tabelfelttypen Ja/Nej, i SQL Server er den Smallint (da jeg ikke kan bruge type Bit). Access bruger jo -1 til Ja og 0 til Nej, hvor værdierne som ligger i SQL Serveren er 0 for Nej og 1 for Ja (feltet er checket). Så nu skal jeg have ændret værdierne fra 1 til -1 i SQL tabellerne. Der er ca. 20 tabeller der skal checkes, hvordan gøres det nemmest?
Denne side indeholder artikler med forskellige perspektiver på Identity & Access Management i private og offentlige organisationer. Artiklerne behandler aktuelle IAM-emner og leveres af producenter, rådgivere og implementeringspartnere.
Kigger i tabel oversigten og fyrer en UPDATE sætning af for hver tabel og kolonne med problemet.
Man kan skrive kode der søger i alle tabeller efter kolonner af den type og dynamisk udfører en UPDATE for hver, men det tager 5 gange så lang tid at lave det program som at fyre de UPDATE sætninger af manuelt.
Så scriptet skulle kunne gennemsøge en given database, i alle tabeller (usertables) efter felter som har typen SmallInt og ændre alle dem der har værdien 1 til værdien -1.
Det er LIDT træls at først skulle finde de tabeller der indeholder checkfelter (manuelt ved at kigge i frontend'en eller selve tabellerne), dernæst at notere alle felter som er af typen SmallInt for dernæst at køre denne SQL UPDATE:
UPDATE "Min tabel" SET "Mit felt" = -1 WHERE "Mit felt" = 1
3 databaser, 20 tabeller, ca. 30 checkfelter....suk!
Tja, jeg har fundet ud af at der også er felter i databasen som er af typen SmallInt, men som IKKE er "linket" til afkrydsningsfelter i frontend'en! :( Så jeg må gennemså databasen slavisk! :(
Nå, det var ikke så galt alligevel. 3 databaser, 3 tabeller med tilsammen 6 felter (fik vist overdrevet med de 30 checkfelter! :( ), lige til at overkomme. Smid et svar, arne, du skal da have point for hjælpen.
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.