How To Define a Data Field as NOT NULL

Q

How To Define a Data Field as NOT NULL? - Oracle DBA FAQ - Working with Database Objects in PL/SQL

✍: FYIcenter.com

A

When defining a specific RECORD type, you can define a data field as NOT NULL to make sure variables with this RECORD type to always have values in this field. A field defined as NOT NULL must have a default value. Here is a tutorial script showing you how to define a data field as NOT NULL:

CREATE OR REPLACE PROCEDURE HELLO AS
  TYPE student IS RECORD (
    id NUMBER(5) NOT NULL DEFAULT 0,
    first_name VARCHAR(80),
    last_name VARCHAR(80)
  );
  best_student student;
  another_student student;
  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 = 0
Best student = The Best

2007-04-27, 4797👍, 0💬