レコードベースの挿入例:
DECLARE
my_book books%ROWTYPE;
BEGIN
my_book.isbn:='1-123456-123-1';
my_book.title:='Fox Infotech Blogs';
my_book.summary:='フォックスの例';
my_book.author:='V。 Kapoor';
my_book.page_count:=300;
INSERT INTO books VALUES my_book;
END;
/
レコード指定子の前後に括弧を含めないことに注意してください。この形式を使用する場合:
書籍の値に挿入(my_book); -かっこ付き、無効です!
次に、ORA-00947:値が足りないという例外が発生します。これは、プログラムがテーブルの列ごとに個別の式を想定しているためです。
レコードベースの更新例:
レコードを使用して行全体の更新を実行することもできます。次の例では、booksテーブルの行を%ROWTYPEレコードで更新します。キーワードROWを使用して、行全体をレコードで更新していることを示していることに注意してください。
DECLARE
my_book books%ROWTYPE;
BEGIN
my_book.isbn:='1-123456-123-1';
my_book.title:='Fox Infotech Blogs';
my_book.summary:='フォックスの例';
my_book.author:='V。 Kapoor';
my_book.page_count:=300;
書籍の更新
SETROW =my_book
WHERE isbn =my_book.isbn;
END;
/
レコードベースの更新にはいくつかの制限があります:
サブクエリを使用して更新を実行することはできません。
そして、不思議に思うかもしれませんが、ROWというテーブル列を作成することはできません。