Define a RECORD Variable for a Table Row in Oracle

Q

How To Define a RECORD Variable to Store a Table Row in Oracle?

✍: FYIcenter.com

A

If you have a table, and want to define a RECORD variable to store all the data elements of a row from that table, you can use table_name%ROWTYPE to define the RECORD variable as shown in the following sample script:

CREATE TABLE student (id NUMBER(5) PRIMARY KEY,
  first_name VARCHAR(80) NOT NULL,
  last_name VARCHAR(80) NOT NULL);
Table created.

CREATE OR REPLACE PROCEDURE FYI_CENTER AS
  best_student student%ROWTYPE;
  another_student student%ROWTYPE;
  class_name VARCHAR2(80);
BEGIN
  class_name := 'FYI Center 2006';
  best_student.first_name := 'The';
  best_student.last_name := 'Best';
  DBMS_OUTPUT.PUT_LINE('Best student ID = ' 
    || best_student.id); 
  DBMS_OUTPUT.PUT_LINE('Best student = ' || 
    best_student.first_name || ' ' 
    || best_student.last_name);
END;
/
Best student ID = 
Best student = The Best

 

Working with Database Objects in Oracle PL/SQL

⇒⇒Oracle Database Tutorials

2016-10-17, 129👍, 0💬