Exempel på postbaserat infogning:
DEKLARE
my_book books%ROWTYPE;
BEGIN
my_book.isbn :='1-123456-123-1';
my_book.title :='Fox Infotech Blogs';
my_book.summary :='Rävexempel';
my_book.author :='V. Kapoor';
my_book.page_count :=300;
INSERT INTO books VALUES my_book;
END;
/
Observera att du inte inkluderar parenteser runt postspecifikationen . Om du använder detta format:
INSERT INTO books VALUES (min_bok); -- Med parentes, INVALID!
då får du ett ORA-00947:inte tillräckligt med värdeundantag, eftersom programmet förväntar sig ett separat uttryck för varje kolumn i tabellen.
Exempel på postbaserad uppdatering:
Du kan också utföra uppdateringar av en hel rad med hjälp av en post. Följande exempel uppdaterar en rad i boktabellen med en %ROWTYPE-post. Observera att jag använder nyckelordet ROW för att indikera att jag uppdaterar hela raden med en post:
DEKLARE
my_book books%ROWTYPE;
BEGIN
my_book.isbn :='1-123456-123-1';
my_book.title :='Fox Infotech Blogs';
my_book.summary :='Rävexempel';
my_book.author :='V. Kapoor';
my_book.page_count :=300;
UPPDATERA böcker
SET ROW =my_book
WHERE isbn =my_book.isbn;
END;
/
Det finns vissa begränsningar för rekordbaserade uppdateringar:
Du kan inte utföra en uppdatering med en underfråga.
Och, om du undrar, kan du inte skapa en tabellkolumn som heter ROW.