Nytt, fräscht och intressant inom systemutvecklingssfären med tonvikt på .NET

2007-01-16

Lägga till en sekvens till befintlig tabell

Råkade ut för ett litet problem med en tabell (Oracle 9) som var skapad för flera år sedan. Denna tabell hade en primärnyckel som var beroende av fyra kolumner i tabellen. Tabellen saknade en kolumn av typen integer och som var kopplad till en sekvens (dvs automatiskt uppräknande). Av olika orsaker behövde jag göra om tabellen för att få denna typ av kolumn. Eftersom tabellen innehöll över 4000 rader var det uteslutet att manuellt uppdatera varje rad.

Vad behöver göras?
  • Skapa en ny kolumn av typen int
  • Fylla kolumnen med unika tal
  • Göra kolumnen till primärnyckel för tabellen

Problem
Att fylla kolumnen med unika data.

Lösning

  1. Skapa kolumnen 'id' i tabellen 'large_table'
  2. Skapa en sekvens 'seq_id' för kolumnen
  3. Skapa en temporär trigger 'trg_id' som körs när 'id' sätts lika med -1
  4. Kör följande SQL-sats: UPDATE large_table SET id=-1
  5. Verifiera att alla rader fått unika data
  6. Ta bort trigger
  7. Sätt primärnyckeln på kolumnen 'id'

Sekvens

CREATE SEQUENCE seq_id
START WITH 1
MAXVALUE
999999999999999999999999999
MINVALUE 0

NOCYCLE
NOCACHE
NOORDER;

Trigger

CREATE OR REPLACE TRIGGER trg_id
BEFORE UPDATE ON large_table FOR EACH
ROW
DECLARE
v_id NUMBER(10) := NULL;
CURSOR
cur_sequence IS SELECT seq_id.NEXTVAL AS pk FROM
DUAL;

BEGIN
OPEN cur_sequence;
FETCH
cur_sequence INTO v_id;
CLOSE cur_sequence;


IF (:new.id = -1) then
:new.id := v_id;
END IF;
END;

Etiketter: ,

Kom ikapp med .NET 3.0

Känner du dig efter?
Har alla kollegorna och konkurrenterna redan börjat utveckla med .NET 3.0?

Nu finns en möjlighet att snabbt komma ikapp.. ;-)

http://devlicio.us/blogs/rob_eisenberg/archive/category/1035.aspx

Etiketter: ,

WPF [/E]

Alldeles för länge sen en post här.
Kommer göra några i relativt rask takt av sånt jag samlat på mig under julen och början på året.

Först ut ett par videosnuttar som demonstrerar MS senaste ramverkstillskott.

Vi börjar med WPF/E.
Här är en webbapplikation som visar skivor via Amazon.com webservice. Halva filmen innehåller kodexempel av det demonstrerade:
http://www.xmlforasp.net/CodeBank/Download/Blog/Video/AlbumViewerDemo.wmv

Kommande Yahoo Messenger.
Yahoo har byggt om sin Messenger till att helt följa Vista "look-and-feel" och då tagit hjälp av och utnyttjat WPF. Intervjuaren är inte världens bästa därför lite svårt att höra svaren på ställda frågor, men demon är cool:
http://www.on10.net/Blogs/larry/yahoo-messenger-on-wpf/

Fler applikationer
Företaget Thirteen23 har gjort några olika applikationer baserat på WPF:
http://www.thirteen23.com/work.html

Etiketter: , , ,