Az absztrakt vagy strukturált adattípusok olyan típusmechanizmusok, melyekkel a relációs adatbázis komplex objektumai modellezhetők és tárolhatók. A strukturált típusoknak több beágyazott mezőjük lehet. Egy geometriai alakzat például, melynek több Descartes-koordinátája van, vagy egy alkalmazott, akit a neve, címe, neme, születési dátuma, azonosítója jellemez, jól modellezhető és tárolható a DB2 Universal Database-ben.
Kibővült a strukturált adattípusok támogatása, így a táblák most már strukturált típusú oszlopokat is tartalmazhatnak. Sőt, lehetőség van strukturált típusok egymásba ágyazására is. A strukturált típusok attribútumai tehát nincsenek többé az SQL alaptípusaira korlátozva, egy mező típusa lehet egy másik strukturált típus is.
A verzió 7 kiadásban olyan függvények is definiálhatók, melyeknek bemenő paraméterei vagy a RETURN-nel visszadott eredménye strukturált típusok. Minden strukturált adattípushoz definiálhatók a viselkedésüket leíró, beépített metódusok. A metódusok nagyon hasonlítanak a függvényekhez, azonban a metódusok csak az adattípusaikon belül használhatók. A metódus tulajdonképpen egy olyan eljárás, melynek első paramétere a strukturált típus.
A tábla újraszervezése (REORG) és a db2look segédprogramok a strukturált típusú mezőket tartalmazó táblákhoz használhatóak. További információ található a REORG-ról a Command Reference-ben, a strukturált típusokról és a db2look-ról pedig a következő helyeken: Administration Guide: Implementation és Administration Guide: Performance.
Az átalakítófüggvények lehetővé teszik a strukturált típusú oszlopok felhasználói programokban történő használatát. Az átalakítófüggvények a strukturált adattípusok összetett belső szerkezetét alakítják át SQL alaptípusok rendezett halmazává. A függvények segítségével a visszafelé történő, tehát az alaptípusokból strukturált típust készítő átalakítás szintén elvégezhető. Ilyen átalakításokra a strukturált típusok adatbázisból és adatbázisba történő ki-, illetve bevitelekor van szükség. További információért lásd: Administration Guide: Implementation.
Az SQL-törzsű függvények a hívó SQL-be ágyazott függvénytörzsön belül egyszerű SQL-utasításokat tartalmaznak (hasonlóan a makrókhoz). Így a lekérdezés-fordító az SQL-törzsű függvényt tartalmazó teljes SQL utasítást optimalizálni tudja. Az SQL-törzsű függvények strukturált adattípusok esetében is hasznosak lehetnek, például átalakítófüggvényekként (lásd Átalakító-függvények), vagy metódusokként (lásd Strukturált típusok).
A DB2 7.2-es verziója dinamikus összetett utasításokat is tartalmaz (új típusú összetett SQL), amelyekkel csökkenthetők az adatbázis-kezelő járulékos költségei, és javul a hálózaton érkező kérések kezelési teljesítménye. A dinamikus összetett utasítások segítségével kiválóan lehet rövid parancsfájlokat írni, amelyek kevés folyamatvezérlést, de annál több adatáramlást képviselnek.
A dinamikus összetett utasításokban az alábbiakra van lehetőség:
A DB2 a dinamikus összetett utasítást egyetlen utasítássá alakítja. További információt a DB2 Kiadási megjegyzések tartalmaznak.
A DB2 7.2-es verziója lehetővé teszi procedurális logika alkalmazását tárolt eljárásokban, triggerekben és SQL-függvényekben számos SQL-vezérelt utasítás által.
A 7.2-es verzió előtt a triggerek csak egyszerű szekvenciális végrehajtást engedélyeztek - feltételes elágazások vagy ciklusok nem léteztek. A triggereknek ez a továbbfejlesztése könnyebbé teszi az alkalmazások DB2-re történő költöztetését. A SCALAR, TABLE, vagy a ROW SQL-függvények továbbfejlesztése is hasznos lehet. A Data Warehouse Centerben levő, vezérlő utasításokat tartalmazó SQL táblafüggvények vagy az SQL skalárfüggvények segítségével például más adatbázis-kezelő rendszerek is leképezhetők a DB2-re.
A 7.2-es verzió lehetővé teszi az alábbi vezérlő utasítások használatát a triggerekben és az SQL-függvényekben:
A vezérlőutasítások a DB2 lekérdezés-fordítóba vannak építve. Az SQL vezérlőutasításairól és változóiról bővebben itt olvashat: SQL Reference. Az 7.2-es verziónak erről a továbbfejlesztéséről további információ a DB2 Kiadási megjegyzésekben olvasható.
A típusos tábláknál korlátozásokat és triggereket adhat meg a hivatkozási egységekhez.