Oracle har understøttet objekter siden version 8.0 af databasen (dvs. over et årti). Det var dog først i 9iR2, at Oracle TYPE
understøttede brugerdefinerede konstruktører og korrekt implementeret polymorfi. I 11g tilføjede de understøttelse af en Java-agtig SUPER()
opkald. Men Oracle understøtter stadig ikke private variabler eller private metoder.
Som en konsekvens er OO-programmering ikke rigtigt slået igennem i Oracle-verdenen. Folk bruger typer til at definere samlinger i PL/SQL, som er særligt nyttige for massebehandling . Pipeline-funktioner er også pæne og åbner op for et interessant lille værktøjssæt .
Jeg har brugt Oracles objektorienterede funktionalitet, og hvis jeg skal være ærlig, er der ikke mange scenarier, hvor det giver mening at vælge typer frem for almindelig PL/SQL. Der er dog nogle situationer, hvor det kan være nyttigt. Jeg har blogget om dette i længere tid. Få mere at vide.
rediger
Som Tuinstoel kommenterede, linkede jeg til den forkerte artikel på Adrians websted. De spåede korrekt artiklen, jeg ville linke til, og jeg har nu ændret linket i overensstemmelse hermed.