Esempio di inserimento basato su record:
DICHIARA
my_book books%ROWTYPE;
BEGIN
my_book.isbn :='1-123456-123-1';
my_book.title :='Fox Infotech Blogs';
my_book.summary :='Esempi Fox';
my_book.author :='V. Kapoor';
my_book.page_count :=300;
INSERT INTO books VALUES my_book;
END;
/
Nota di non includere parentesi attorno all'identificatore di record . Se utilizzi questo formato:
INSERT IN VALUES libri (my_book); -- Tra parentesi, NON VALIDO!
quindi otterrai un'eccezione ORA-00947:valori non sufficienti, poiché il programma si aspetta un'espressione separata per ogni colonna della tabella.
Esempio di aggiornamento basato su record:
Puoi anche eseguire gli aggiornamenti di un'intera riga utilizzando un record. L'esempio seguente aggiorna una riga nella tabella libri con un record %ROWTYPE. Si noti che utilizzo la parola chiave RIGA per indicare che sto aggiornando l'intera riga con un record:
DICHIARA
my_book books%ROWTYPE;
BEGIN
my_book.isbn :='1-123456-123-1';
my_book.title :='Fox Infotech Blogs';
my_book.summary :='Esempi Fox';
my_book.author :='V. Kapoor';
my_book.page_count :=300;
UPDATE libri
SET ROW =my_book
WHERE isbn =my_book.isbn;
END;
/
Ci sono alcune restrizioni sugli aggiornamenti basati sui record:
Non è possibile eseguire un aggiornamento utilizzando una sottoquery.
E, nel caso te lo stia chiedendo, non puoi creare una colonna di tabella chiamata ROW.