Oracle ondersteunt objecten sinds versie 8.0 van de database (d.w.z. meer dan tien jaar). Het was echter pas in 9iR2 dat Oracle TYPE
ondersteunde door de gebruiker gedefinieerde constructors en correct geïmplementeerd polymorfisme. In 11g hebben ze ondersteuning toegevoegd voor een Java-achtige SUPER()
telefoongesprek. Maar Oracle ondersteunt nog steeds geen privévariabelen of privémethoden.
Als gevolg hiervan is OO-programmering niet echt van de grond gekomen in de Oracle-wereld. Mensen gebruiken Types om collecties in PL/SQL te definiëren, die vooral handig zijn voor bulkverwerking . Pipelined-functies zijn ook netjes en openen een interessante kleine toolset .
Ik heb de objectgeoriënteerde functionaliteit van Oracle gebruikt, en als ik eerlijk ben, zijn er niet veel scenario's waarin het zinvol is om typen te kiezen boven gewone PL/SQL. Er zijn echter enkele situaties waarin het nuttig kan zijn. Ik heb er al een tijdje over geblogd. Meer informatie.
bewerken
Zoals Tuinstoel opmerkte, linkte ik naar het verkeerde artikel op Adrian's site. Ze hebben het artikel waar ik naar wilde linken correct geraden en ik heb de link nu dienovereenkomstig gewijzigd.