Gå til innhold

Enkleste måte å gjøre en update mot MS SQL-server?


Anbefalte innlegg

Jeg har noen kolleger (og meg for den saks skyld) som har en tendens til å gjøre en enkel feilregistrering i sakssystemet vårt. For å rette opp dette via GUI må saken slettes og gjenskapes, og det er en del jobb i tillegg til at det tuller til datostempler og et par andre atributter. For å løse problemet har jeg logget meg på SQL-servere og kjørt en (egentlig to) UPDATE-spørring manuelt som setter korrekt verdi. Dette fungerer fint, men er tungvindt og avhengig av meg.

 

Jeg kunne tenke meg å automatisere dette litt ved å scripte prosedyren slik at jeg slipper å logge på SQL-GUIet. Å utvikle noen stor løsning for dette virker bortkastet, så jeg er på jakt etter et simpelt hack. Det jeg vil ha er et script som tar imot id og verdi som argument og kjører to UPDATE-spørringer med argumentene. Om det er GUI eller kommandolinje går ut på ett, så lenge det er enkelt :)

 

UPDATE-spørringene er så enkle som dette:

UPDATE tabell1
SET tabell1.verdi = @argument1
WHERE tabell1.id = @argument2

UPDATE tabell2
SET tabell2.verdi = @argument1
WHERE tabell2.id = @argument2

 

Det er mulig spørringene mine er litt tunge siden det er relaterte tabeller og det hele kunne blitt gjort med en spørring, men det er KISS og det funker :)

 

Hvordan kan jeg enklest automatisere dette slik at brukerne som kjenner ID og verdi kan fikse dette selv?

Lenke til kommentar
Videoannonse
Annonse

VBScript fra commandline?

 

Fritt fra hukommelse;

dim con, cstring, sql, id, value

cstring = "provider=sqloledb;data source=dbserver;initial catalog=db"
id = WScript.Arguments.Item(0)
value = WScript.Arguments.Item(1)
sql = <sql> ' Mekke riktig sql her'
set con = CreateObject("ADODB.Connection")
con.open cstring, "username", "password"
con.execute sql
set con = nothing

 

Edit: Du ser det sikkert, det var meningen id skulle være første argument på kommandolinjen, og verdi andre.

Endret av MailMan13
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...