En PL /SQL rekord
er en datastruktur som kan inneholde dataelementer av ulike slag. Records består av ulike felt, ligner en rad i en databasetabell.
For eksempel vil du holde orden på bøkene dine i et bibliotek. Du ønsker kanskje å spore følgende attributter om hver bok som, tittel, forfatter, emne, Book ID. En post som inneholder et felt for hver av disse elementene gjør at behandling av en bok som en logisk enhet og lar deg organisere og representere sin informasjon på en bedre måte.
PL /SQL kan håndtere følgende typer poster:
Tabell-basert
Markør-baserte poster
De brukerdefinerte poster
Table-Based Records
% ROWTYPE attributtet gjør at en programmerer å lage tabellen baserte
og markørbaserte
poster.
Følgende eksempel vil illustrere begrepet tabellbaserte
poster. Vi kommer til å bruke KUNDER bordet vi hadde skapt og brukt i de foregående kapitlene:
ERKLÆRER customer_rec kunder% rowtype; BEGIN SELECT * inn customer_rec fra kunder hvor id = 5; dbms_output.put_line ('Customer ID:' || customer_rec.id); dbms_output.put_line ('Kundenavn:' || customer_rec.name); dbms_output.put_line ('Customer Adresse:' || customer_rec.address); dbms_output.put_line ('Customer Lønn:' || customer_rec.salary); END; /
Når ovenfor koden kjøres på SQL teksten, gir det følgende resultat:
Kunde ID: 5Customer Navn: HardikCustomer Adresse: BhopalCustomer Lønn: 9000PL /SQL-prosedyren ble fullført
Markør-Based Records
Følgende eksempel vil illustrere begrepet markørbaserte
poster.. Vi kommer til å bruke KUNDER bordet vi hadde skapt og brukt i de foregående kapitlene:
ERKLÆRER CURSOR customer_cur er SELECT id, navn, adresse fra kunder; customer_rec customer_cur% rowtype; BEGIN OPEN customer_cur; LOOP HENT customer_cur inn customer_rec; EXIT NÅR customer_cur% notfound; DBMS_OUTPUT.put_line (customer_rec.id || '' || customer_rec.name); . END LOOP; END; /
Når ovenfor koden kjøres på SQL teksten, gir det følgende resultat:
en Ramesh2 Khilan3 kaushik4 Chaitali5 Hardik