Script • SQL Drift & Vedlikehold

Idempotent insert med SELECT ... WHERE NOT EXISTS

Importer startdata uten deprecated VALUES()-bruk.

INSERT INTO roles (role_id, role_name)
SELECT 4, 'premium_administrator'
WHERE NOT EXISTS (
    SELECT 1 FROM roles WHERE role_id = 4
);
Weboracle
01.01.20260 visningerSQL

Importer startdata uten deprecated VALUES()-bruk.

Idempotent insert med SELECT ... WHERE NOT EXISTS

Formål: Dette scriptet er et praktisk utgangspunkt for Idempotent insert med SELECT ... WHERE NOT EXISTS. Beskrivelsen forklarer hva scriptet skal løse, hvordan det bør testes, og hvilke tilpasninger som normalt må gjøres før bruk.

Bruksområde

I SQL bør små scripts løse én tydelig oppgave. De skal være enkle å lese, enkle å flytte og lette å kontrollere. Et godt script forutsetter ikke skjulte variabler, uklare filbaner eller ubegrunnede tabellnavn. Alt som må tilpasses, bør stå i forklaringen eller brukermanualen.

Før bruk

  • Les kravene og kontroller at miljøet støtter funksjonene som brukes.
  • Tilpass filbaner, tabeller og konfigurasjon til eget prosjekt.
  • Kjør scriptet på testdata før produksjon.
  • Logg feil kontrollert og vis ryddige meldinger til brukeren.

Testplan

Test først et scenario der alt fungerer. Test deretter tomme verdier, ugyldige parametere og manglende filer. Hvis scriptet skriver data, bør det også testes at ny kjøring ikke lager duplikater. Hvis scriptet leser data, bør resultatet være stabilt, forståelig og sortert på en måte som hjelper feilsøking.

Videre tilpasning

Scriptet kan bygges videre med bedre rapportering, flere valideringsregler eller en enkel administrasjonsside. Det viktigste er å holde kjerneoppgaven avgrenset. Når scriptet gjør én ting godt, blir det enklere å dokumentere, dele og vedlikeholde.

Oppsummering: Idempotent insert med SELECT ... WHERE NOT EXISTS gir størst verdi når det leveres med forklaring, tydelig avgrensning og realistiske kontrollpunkter. Da blir scriptet mer nyttig for leseren og tryggere å ta i bruk.