<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://sqle.ru/index.php?action=history&amp;feed=atom&amp;title=Oracle_PL%2FSQL%2FConstraints%2FNOT_NULL</id>
		<title>Oracle PL/SQL/Constraints/NOT NULL - История изменений</title>
		<link rel="self" type="application/atom+xml" href="http://sqle.ru/index.php?action=history&amp;feed=atom&amp;title=Oracle_PL%2FSQL%2FConstraints%2FNOT_NULL"/>
		<link rel="alternate" type="text/html" href="http://sqle.ru/index.php?title=Oracle_PL/SQL/Constraints/NOT_NULL&amp;action=history"/>
		<updated>2026-04-04T11:47:45Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://sqle.ru/index.php?title=Oracle_PL/SQL/Constraints/NOT_NULL&amp;diff=2560&amp;oldid=prev</id>
		<title> в 13:45, 26 мая 2010</title>
		<link rel="alternate" type="text/html" href="http://sqle.ru/index.php?title=Oracle_PL/SQL/Constraints/NOT_NULL&amp;diff=2560&amp;oldid=prev"/>
				<updated>2010-05-26T13:45:19Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr style=&quot;vertical-align: top;&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Предыдущая&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Версия 13:45, 26 мая 2010&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; style=&quot;text-align: center;&quot; lang=&quot;ru&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(нет различий)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
			</entry>

	<entry>
		<id>http://sqle.ru/index.php?title=Oracle_PL/SQL/Constraints/NOT_NULL&amp;diff=2561&amp;oldid=prev</id>
		<title>Admin: 1 версия</title>
		<link rel="alternate" type="text/html" href="http://sqle.ru/index.php?title=Oracle_PL/SQL/Constraints/NOT_NULL&amp;diff=2561&amp;oldid=prev"/>
				<updated>2010-05-26T10:01:59Z</updated>
		
		<summary type="html">&lt;p&gt;1 версия&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;==Adding constraint that checks values and prohobits nulls==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; CREATE TABLE purchase (&lt;br /&gt;
  2       product_name  VARCHAR2(25),&lt;br /&gt;
  3       product_price NUMBER(4,2),&lt;br /&gt;
  4       purchase_date DATE&lt;br /&gt;
  5       );&lt;br /&gt;
Table created.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; ALTER TABLE purchase ADD (&lt;br /&gt;
  2       CONSTRAINT reasonable_date CHECK(&lt;br /&gt;
  3            purchase_date IS NOT NULL&lt;br /&gt;
  4            AND&lt;br /&gt;
  5            TO_CHAR(purchase_date, &amp;quot;YYYY-MM-DD&amp;quot;) &amp;gt;= &amp;quot;2000-06-30&amp;quot;&lt;br /&gt;
  6            )&lt;br /&gt;
  7       );&lt;br /&gt;
Table altered.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; INSERT INTO purchase VALUES (&amp;quot;Small Widget&amp;quot;, 10, &amp;quot;28-FEB-00&amp;quot;);&lt;br /&gt;
INSERT INTO purchase VALUES (&amp;quot;Small Widget&amp;quot;, 10, &amp;quot;28-FEB-00&amp;quot;)&lt;br /&gt;
*&lt;br /&gt;
ERROR at line 1:&lt;br /&gt;
ORA-02290: check constraint (sqle.REASONABLE_DATE) violated&lt;br /&gt;
&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; drop table purchase;&lt;br /&gt;
Table dropped.&lt;br /&gt;
   &lt;br /&gt;
    &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Add not null constraint to different columns==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
SQL&amp;gt; create table myTable (&lt;br /&gt;
  2        id                   number(8) not null,&lt;br /&gt;
  3        code                 number(4) not null,&lt;br /&gt;
  4        inception            date not null,&lt;br /&gt;
  5        description          varchar2(60) not null,&lt;br /&gt;
  6        price                number(6,2) not null,&lt;br /&gt;
  7        in_stock             varchar2(1)&lt;br /&gt;
  8  );&lt;br /&gt;
Table created.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; drop table myTable;&lt;br /&gt;
Table dropped.&lt;br /&gt;
   &lt;br /&gt;
    &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==alter table dept modify emp_count NOT NULL==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; CREATE TABLE EMP(&lt;br /&gt;
  2      EMPNO NUMBER(4) NOT NULL,&lt;br /&gt;
  3      ENAME VARCHAR2(10),&lt;br /&gt;
  4      JOB VARCHAR2(9),&lt;br /&gt;
  5      MGR NUMBER(4),&lt;br /&gt;
  6      HIREDATE DATE,&lt;br /&gt;
  7      SAL NUMBER(7, 2),&lt;br /&gt;
  8      COMM NUMBER(7, 2),&lt;br /&gt;
  9      DEPTNO NUMBER(2)&lt;br /&gt;
 10  );&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; INSERT INTO EMP VALUES(7369, &amp;quot;SMITH&amp;quot;, &amp;quot;CLERK&amp;quot;, 7902,TO_DATE(&amp;quot;17-DEC-1980&amp;quot;, &amp;quot;DD-MON-YYYY&amp;quot;), 800, NULL, 20);&lt;br /&gt;
SQL&amp;gt; INSERT INTO EMP VALUES(7499, &amp;quot;ALLEN&amp;quot;, &amp;quot;SALESMAN&amp;quot;, 7698,TO_DATE(&amp;quot;20-FEB-1981&amp;quot;, &amp;quot;DD-MON-YYYY&amp;quot;), 1600, 300, 30);&lt;br /&gt;
SQL&amp;gt; INSERT INTO EMP VALUES(7521, &amp;quot;WARD&amp;quot;, &amp;quot;SALESMAN&amp;quot;, 7698,TO_DATE(&amp;quot;22-FEB-1981&amp;quot;, &amp;quot;DD-MON-YYYY&amp;quot;), 1250, 500, 30);&lt;br /&gt;
SQL&amp;gt; INSERT INTO EMP VALUES(7566, &amp;quot;JONES&amp;quot;, &amp;quot;MANAGER&amp;quot;, 7839,TO_DATE(&amp;quot;2-APR-1981&amp;quot;, &amp;quot;DD-MON-YYYY&amp;quot;), 2975, NULL, 20);&lt;br /&gt;
SQL&amp;gt; INSERT INTO EMP VALUES(7654, &amp;quot;MARTIN&amp;quot;, &amp;quot;SALESMAN&amp;quot;, 7698,TO_DATE(&amp;quot;28-SEP-1981&amp;quot;, &amp;quot;DD-MON-YYYY&amp;quot;), 1250, 1400, 30);&lt;br /&gt;
SQL&amp;gt; INSERT INTO EMP VALUES(7698, &amp;quot;BLAKE&amp;quot;, &amp;quot;MANAGER&amp;quot;, 7839,TO_DATE(&amp;quot;1-MAY-1981&amp;quot;, &amp;quot;DD-MON-YYYY&amp;quot;), 2850, NULL, 30);&lt;br /&gt;
SQL&amp;gt; INSERT INTO EMP VALUES(7782, &amp;quot;CLARK&amp;quot;, &amp;quot;MANAGER&amp;quot;, 7839,TO_DATE(&amp;quot;9-JUN-1981&amp;quot;, &amp;quot;DD-MON-YYYY&amp;quot;), 2450, NULL, 10);&lt;br /&gt;
SQL&amp;gt; INSERT INTO EMP VALUES(7788, &amp;quot;SCOTT&amp;quot;, &amp;quot;ANALYST&amp;quot;, 7566,TO_DATE(&amp;quot;09-DEC-1982&amp;quot;, &amp;quot;DD-MON-YYYY&amp;quot;), 3000, NULL, 20);&lt;br /&gt;
SQL&amp;gt; INSERT INTO EMP VALUES(7839, &amp;quot;KING&amp;quot;, &amp;quot;PRESIDENT&amp;quot;, NULL,TO_DATE(&amp;quot;17-NOV-1981&amp;quot;, &amp;quot;DD-MON-YYYY&amp;quot;), 5000, NULL, 10);&lt;br /&gt;
SQL&amp;gt; INSERT INTO EMP VALUES(7844, &amp;quot;TURNER&amp;quot;, &amp;quot;SALESMAN&amp;quot;, 7698,TO_DATE(&amp;quot;8-SEP-1981&amp;quot;, &amp;quot;DD-MON-YYYY&amp;quot;), 1500, 0, 30);&lt;br /&gt;
SQL&amp;gt; INSERT INTO EMP VALUES(7876, &amp;quot;ADAMS&amp;quot;, &amp;quot;CLERK&amp;quot;, 7788,TO_DATE(&amp;quot;12-JAN-1983&amp;quot;, &amp;quot;DD-MON-YYYY&amp;quot;), 1100, NULL, 20);&lt;br /&gt;
SQL&amp;gt; INSERT INTO EMP VALUES(7900, &amp;quot;JAMES&amp;quot;, &amp;quot;CLERK&amp;quot;, 7698,TO_DATE(&amp;quot;3-DEC-1981&amp;quot;, &amp;quot;DD-MON-YYYY&amp;quot;), 950, NULL, 30);&lt;br /&gt;
SQL&amp;gt; INSERT INTO EMP VALUES(7902, &amp;quot;FORD&amp;quot;, &amp;quot;ANALYST&amp;quot;, 7566,TO_DATE(&amp;quot;3-DEC-1981&amp;quot;, &amp;quot;DD-MON-YYYY&amp;quot;), 3000, NULL, 20);&lt;br /&gt;
SQL&amp;gt; INSERT INTO EMP VALUES(7934, &amp;quot;MILLER&amp;quot;, &amp;quot;CLERK&amp;quot;, 7782,TO_DATE(&amp;quot;23-JAN-1982&amp;quot;, &amp;quot;DD-MON-YYYY&amp;quot;), 1300, NULL, 10);&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; CREATE TABLE DEPT(&lt;br /&gt;
  2      DEPTNO NUMBER(2),&lt;br /&gt;
  3      DNAME VARCHAR2(14),&lt;br /&gt;
  4      LOC VARCHAR2(13)&lt;br /&gt;
  5  );&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; INSERT INTO DEPT VALUES (10, &amp;quot;ACCOUNTING&amp;quot;, &amp;quot;NEW YORK&amp;quot;);&lt;br /&gt;
SQL&amp;gt; INSERT INTO DEPT VALUES (20, &amp;quot;RESEARCH&amp;quot;, &amp;quot;DALLAS&amp;quot;);&lt;br /&gt;
SQL&amp;gt; INSERT INTO DEPT VALUES (30, &amp;quot;SALES&amp;quot;, &amp;quot;CHICAGO&amp;quot;);&lt;br /&gt;
SQL&amp;gt; INSERT INTO DEPT VALUES (40, &amp;quot;OPERATIONS&amp;quot;, &amp;quot;BOSTON&amp;quot;);&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; alter table dept&lt;br /&gt;
  2  add emp_count number&lt;br /&gt;
  3  constraint must_be_between_3_8&lt;br /&gt;
  4  check(emp_count between 3 and 8 OR emp_count = 0)&lt;br /&gt;
  5  deferrable initially deferred;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; update dept set emp_count = (select count(*) from emp where emp.deptno = dept.deptno )&lt;br /&gt;
  2  /&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; alter table dept&lt;br /&gt;
  2  modify emp_count NOT NULL;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; create trigger emp_dept_cnt_trigger&lt;br /&gt;
  2  after insert or update or delete on emp&lt;br /&gt;
  3  for each row&lt;br /&gt;
  4  begin&lt;br /&gt;
  5      if ( updating and :old.deptno = :new.deptno )&lt;br /&gt;
  6      then&lt;br /&gt;
  7          return;&lt;br /&gt;
  8      end if;&lt;br /&gt;
  9      if ( inserting or updating )&lt;br /&gt;
 10      then&lt;br /&gt;
 11          update dept set emp_count = emp_count+1&lt;br /&gt;
 12           where deptno = :new.deptno;&lt;br /&gt;
 13      end if;&lt;br /&gt;
 14      if ( updating or deleting )&lt;br /&gt;
 15      then&lt;br /&gt;
 16          update dept set emp_count = emp_count-1&lt;br /&gt;
 17           where deptno = :old.deptno;&lt;br /&gt;
 18      end if;&lt;br /&gt;
 19  end;&lt;br /&gt;
 20  /&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; drop table emp;&lt;br /&gt;
SQL&amp;gt; drop table dept;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Change a column to &amp;quot;not null&amp;quot; with null data in it==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; CREATE TABLE employees&lt;br /&gt;
  2  ( employee_id          number(10)      not null,&lt;br /&gt;
  3    last_name            varchar2(50)      not null,&lt;br /&gt;
  4    email                varchar2(30),&lt;br /&gt;
  5    hire_date            date,&lt;br /&gt;
  6    job_id               varchar2(30),&lt;br /&gt;
  7    department_id        number(10),&lt;br /&gt;
  8    salary               number(6),&lt;br /&gt;
  9    manager_id           number(6)&lt;br /&gt;
 10  );&lt;br /&gt;
Table created.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; insert into employees( employee_id, last_name, email, hire_date, job_id, salary,department_id ,manager_id)&lt;br /&gt;
  2                values ( 1001, &amp;quot;Lawson&amp;quot;, &amp;quot;lawson@g.ru&amp;quot;, &amp;quot;01-JAN-2002&amp;quot;,&amp;quot;MGR&amp;quot;, 30000,1 ,1004);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; insert into employees( employee_id, last_name, email, hire_date, job_id, salary, department_id ,manager_id)&lt;br /&gt;
  2                values ( 1002, &amp;quot;Wells&amp;quot;, &amp;quot;wells@g.ru&amp;quot;, &amp;quot;01-JAN-2002&amp;quot;, &amp;quot;DBA&amp;quot;, 20000,2, 1005 );&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; insert into employees( employee_id, last_name, email, hire_date, job_id, salary, department_id ,manager_id)&lt;br /&gt;
  2                 values( 1003, &amp;quot;Bliss&amp;quot;, &amp;quot;bliss@g.ru&amp;quot;, &amp;quot;01-JAN-2002&amp;quot;, &amp;quot;PROG&amp;quot;, 24000,3 ,1004);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; insert into employees( employee_id, last_name, email, hire_date, job_id, salary, department_id, manager_id)&lt;br /&gt;
  2                 values( 1004,  &amp;quot;Kyte&amp;quot;, &amp;quot;tkyte@a.ru&amp;quot;, SYSDATE-3650, &amp;quot;MGR&amp;quot;,25000 ,4, 1005);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; insert into employees( employee_id, last_name, email, hire_date, job_id, salary, department_id, manager_id)&lt;br /&gt;
  2                 values( 1005, &amp;quot;Viper&amp;quot;, &amp;quot;sdillon@a .ru&amp;quot;, SYSDATE, &amp;quot;PROG&amp;quot;, 20000, 1, 1006);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; insert into employees( employee_id, last_name, email, hire_date, job_id, salary, department_id,manager_id)&lt;br /&gt;
  2                 values( 1006, &amp;quot;Beck&amp;quot;, &amp;quot;clbeck@g.ru&amp;quot;, SYSDATE, &amp;quot;PROG&amp;quot;, 20000, 2, null);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; insert into employees( employee_id, last_name, email, hire_date, job_id, salary, department_id, manager_id)&lt;br /&gt;
  2                 values( 1007, &amp;quot;Java&amp;quot;, &amp;quot;java01@g.ru&amp;quot;, SYSDATE, &amp;quot;PROG&amp;quot;, 20000, 3, 1006);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; insert into employees( employee_id, last_name, email, hire_date, job_id, salary, department_id, manager_id)&lt;br /&gt;
  2                 values( 1008, &amp;quot;Oracle&amp;quot;, &amp;quot;oracle1@g.ru&amp;quot;, SYSDATE, &amp;quot;DBA&amp;quot;, 20000, 4, 1006);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; select * from employees;&lt;br /&gt;
EMPLOYEE_ID LAST_NAME                                          EMAIL                          HIRE_DATE JOB_ID                         DEPARTMENT_ID     SALARY MANAGER_ID&lt;br /&gt;
----------- -------------------------------------------------- ------------------------------ --------- ------------------------------ ------------- ---------- ----------&lt;br /&gt;
       1001 Lawson                                             lawson@g.ru                   01-JAN-02 MGR                                        1      30000       1004&lt;br /&gt;
       1002 Wells                                              wells@g.ru                    01-JAN-02 DBA                                        2      20000       1005&lt;br /&gt;
       1003 Bliss                                              bliss@g.ru                    01-JAN-02 PROG                                       3      24000       1004&lt;br /&gt;
       1004 Kyte                                               tkyte@a.ru                    14-JUN-98 MGR                                        4      25000       1005&lt;br /&gt;
       1005 Viper                                              sdillon@a .ru                 11-JUN-08 PROG                                       1      20000       1006&lt;br /&gt;
       1006 Beck                                               clbeck@g.ru                   11-JUN-08 PROG                                       2      20000&lt;br /&gt;
       1007 Java                                               java01@g.ru                   11-JUN-08 PROG                                       3      20000       1006&lt;br /&gt;
       1008 Oracle                                             oracle1@g.ru                  11-JUN-08 DBA                                        4      20000       1006&lt;br /&gt;
8 rows selected.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; alter table employees&lt;br /&gt;
  2      add (&lt;br /&gt;
  3        ssn       number(9)&lt;br /&gt;
  4  )&lt;br /&gt;
  5  /&lt;br /&gt;
Table altered.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; update employees&lt;br /&gt;
  2  set ssn = 123456789&lt;br /&gt;
  3  where employee_id = 1;&lt;br /&gt;
0 rows updated.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; update employees&lt;br /&gt;
  2  set ssn = 234567890&lt;br /&gt;
  3  where employee_id = 2;&lt;br /&gt;
0 rows updated.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; update employees&lt;br /&gt;
  2  set ssn = 345678901&lt;br /&gt;
  3  where employee_id = 3;&lt;br /&gt;
0 rows updated.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; alter table employees&lt;br /&gt;
  2  modify (&lt;br /&gt;
  3     ssn number(9) not null&lt;br /&gt;
  4  );&lt;br /&gt;
alter table employees&lt;br /&gt;
*&lt;br /&gt;
ERROR at line 1:&lt;br /&gt;
ORA-02296: cannot enable (SYS.) - null values found&lt;br /&gt;
&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; drop table employees;&lt;br /&gt;
Table dropped.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Create a SQL collection type that disallows null values==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; CREATE OR REPLACE TYPE integer_varray&lt;br /&gt;
  2    AS VARRAY(100) OF INTEGER NOT NULL;&lt;br /&gt;
  3  /&lt;br /&gt;
Type created.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; DECLARE&lt;br /&gt;
  2    intArray INTEGER_VARRAY := integer_varray();&lt;br /&gt;
  3  BEGIN&lt;br /&gt;
  4    FOR i IN 1..intArray.LIMIT LOOP&lt;br /&gt;
  5      intArray.EXTEND;&lt;br /&gt;
  6    END LOOP;&lt;br /&gt;
  7    dbms_output.put_line(&amp;quot;[&amp;quot;||intArray.COUNT||&amp;quot;]&amp;quot;);&lt;br /&gt;
  8  END;&lt;br /&gt;
  9  /&lt;br /&gt;
[100]&lt;br /&gt;
PL/SQL procedure successfully completed.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==NOT NULL Column Constraints==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; create table people(&lt;br /&gt;
  2    employee_id     number(9),&lt;br /&gt;
  3    first_name      varchar2(15),&lt;br /&gt;
  4    last_name       varchar2(20),&lt;br /&gt;
  5    email           varchar2(25),&lt;br /&gt;
  6    constraint pk_people primary key (employee_id)&lt;br /&gt;
  7  );&lt;br /&gt;
Table created.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; insert into people values (1, &amp;quot;T&amp;quot;, &amp;quot;Kyte&amp;quot;, &amp;quot;YourName@q.ru&amp;quot;);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; insert into people values (2, &amp;quot;S&amp;quot;, &amp;quot;Viper&amp;quot;, &amp;quot;sdillon@q.ru&amp;quot;);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; insert into people values (3, &amp;quot;C&amp;quot;, &amp;quot;Beck&amp;quot;, &amp;quot;clbeck@q.ru&amp;quot;);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; commit;&lt;br /&gt;
Commit complete.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; select * from people;&lt;br /&gt;
EMPLOYEE_ID FIRST_NAME      LAST_NAME            EMAIL&lt;br /&gt;
----------- --------------- -------------------- -------------------------&lt;br /&gt;
          1 T               Kyte                 YourName@q.ru&lt;br /&gt;
          2 S               Viper                sdillon@q.ru&lt;br /&gt;
          3 C               Beck                 clbeck@q.ru&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; alter table people&lt;br /&gt;
  2  add (&lt;br /&gt;
  3    ssn       number(9)&lt;br /&gt;
  4  );&lt;br /&gt;
Table altered.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; update people set ssn = 123456789 where employee_id = 1;&lt;br /&gt;
1 row updated.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; update people set ssn = 234567890 where employee_id = 2;&lt;br /&gt;
1 row updated.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; update people set ssn = 345678901 where employee_id = 3;&lt;br /&gt;
1 row updated.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; alter table people&lt;br /&gt;
  2  modify (&lt;br /&gt;
  3    ssn number(9) not null&lt;br /&gt;
  4  );&lt;br /&gt;
Table altered.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; desc people;&lt;br /&gt;
 Name                                                                                                      Null?    Type&lt;br /&gt;
 ----------------------------------------------------------------------------------------------------------------- -------- ----------------------------------------------------------------------------&lt;br /&gt;
 EMPLOYEE_ID                                                                                               NOT NULL NUMBER(9)&lt;br /&gt;
 FIRST_NAME                                                                                                         VARCHAR2(15)&lt;br /&gt;
 LAST_NAME                                                                                                          VARCHAR2(20)&lt;br /&gt;
 EMAIL                                                                                                              VARCHAR2(25)&lt;br /&gt;
 SSN                                                                                                       NOT NULL NUMBER(9)&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; drop table people;&lt;br /&gt;
Table dropped.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==NOT NULL CONSTRAINT==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; CREATE TABLE person (&lt;br /&gt;
  2       person_code VARCHAR2(3),&lt;br /&gt;
  3       first_name  VARCHAR2(15),&lt;br /&gt;
  4       last_name   VARCHAR2(20),&lt;br /&gt;
  5       hire_date   DATE&lt;br /&gt;
  6       );&lt;br /&gt;
Table created.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; ALTER TABLE person MODIFY (first_name NOT NULL);&lt;br /&gt;
Table altered.&lt;br /&gt;
SQL&amp;gt; ALTER TABLE person MODIFY (last_name NOT NULL);&lt;br /&gt;
Table altered.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; INSERT INTO person VALUES (&amp;quot;XL&amp;quot;, &amp;quot;Xaviera&amp;quot;, NULL, &amp;quot;15-NOV-03&amp;quot;);&lt;br /&gt;
INSERT INTO person VALUES (&amp;quot;XL&amp;quot;, &amp;quot;Xaviera&amp;quot;, NULL, &amp;quot;15-NOV-03&amp;quot;)&lt;br /&gt;
                                            *&lt;br /&gt;
ERROR at line 1:&lt;br /&gt;
ORA-01400: cannot insert NULL into (&amp;quot;sqle&amp;quot;.&amp;quot;PERSON&amp;quot;.&amp;quot;LAST_NAME&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; drop table person;&lt;br /&gt;
Table dropped.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==ORA-01400: cannot insert NULL into==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; CREATE TABLE emp (&lt;br /&gt;
  2    emp_id               NUMBER,&lt;br /&gt;
  3    ename             VARCHAR2(40),&lt;br /&gt;
  4    hire_date        DATE DEFAULT sysdate,&lt;br /&gt;
  5    end_date DATE,&lt;br /&gt;
  6    rate     NUMBER(5,2),&lt;br /&gt;
  7    CONSTRAINT emp_pk    PRIMARY KEY (emp_id)&lt;br /&gt;
  8  );&lt;br /&gt;
Table created.&lt;br /&gt;
SQL&amp;gt; INSERT INTO emp(emp_id, ename, hire_date,end_date, rate)VALUES (101, &amp;quot;Mary&amp;quot;, to_date(&amp;quot;15-Nov-1961&amp;quot;,&amp;quot;dd-mon-yyyy&amp;quot;),null,169);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; INSERT INTO emp(emp_id, ename, hire_date,end_date, rate)VALUES (102, &amp;quot;Tom&amp;quot;, to_date(&amp;quot;16-Sep-1964&amp;quot;,&amp;quot;dd-mon-yyyy&amp;quot;),to_date(&amp;quot;5-May-2004&amp;quot;,&amp;quot;dd-mon-yyyy&amp;quot;),135);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; INSERT INTO emp(emp_id, ename, hire_date,end_date, rate)VALUES (104, &amp;quot;Peter&amp;quot;, to_date(&amp;quot;29-Dec-1987&amp;quot;,&amp;quot;dd-mon-yyyy&amp;quot;),to_date(&amp;quot;1-Apr-2004&amp;quot;,&amp;quot;dd-mon-yyyy&amp;quot;),99);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; INSERT INTO emp(emp_id, ename, hire_date,end_date, rate)VALUES (105, &amp;quot;Mike&amp;quot;, to_date(&amp;quot;15-Jun-2004&amp;quot;,&amp;quot;dd-mon-yyyy&amp;quot;),null,121);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; INSERT INTO emp(emp_id, ename, hire_date,end_date, rate)VALUES (107, &amp;quot;Less&amp;quot;, to_date(&amp;quot;2-Jan-2004&amp;quot;,&amp;quot;dd-mon-yyyy&amp;quot;),null,45);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; INSERT INTO emp(emp_id, ename, hire_date,end_date, rate)VALUES (108, &amp;quot;Park&amp;quot;, to_date(&amp;quot;1-Mar-1994&amp;quot;,&amp;quot;dd-mon-yyyy&amp;quot;),to_date(&amp;quot;15-Nov-2004&amp;quot;,&amp;quot;dd-mon-yyyy&amp;quot;),220);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; INSERT INTO emp(emp_id, ename, hire_date,end_date, rate)VALUES (110, &amp;quot;Ink&amp;quot;, to_date(&amp;quot;4-Apr-2004&amp;quot;,&amp;quot;dd-mon-yyyy&amp;quot;),to_date(&amp;quot;30-Sep-2004&amp;quot;,&amp;quot;dd-mon-yyyy&amp;quot;),84);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; INSERT INTO emp(emp_id, ename, hire_date,end_date, rate)VALUES (111, &amp;quot;Tike&amp;quot;, to_date(&amp;quot;23-Aug-1976&amp;quot;,&amp;quot;dd-mon-yyyy&amp;quot;),null,100);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; INSERT INTO emp(emp_id, ename, hire_date,end_date, rate)VALUES (112, &amp;quot;Inn&amp;quot;, to_date(&amp;quot;15-Nov-1961&amp;quot;,&amp;quot;dd-mon-yyyy&amp;quot;),to_date(&amp;quot;4-Apr-2004&amp;quot;,&amp;quot;dd-mon-yyyy&amp;quot;),70);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; INSERT INTO emp(emp_id, ename, hire_date,end_date, rate)VALUES (113, &amp;quot;Kate&amp;quot;, to_date(&amp;quot;3-Mar-2004&amp;quot;,&amp;quot;dd-mon-yyyy&amp;quot;),to_date(&amp;quot;31-Oct-2004&amp;quot;,&amp;quot;dd-mon-yyyy&amp;quot;),300);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; SET ECHO ON&lt;br /&gt;
SQL&amp;gt; INSERT INTO emp (ename) VALUES (&amp;quot;Kyta&amp;quot;);&lt;br /&gt;
INSERT INTO emp (ename) VALUES (&amp;quot;Kyta&amp;quot;)&lt;br /&gt;
*&lt;br /&gt;
ERROR at line 1:&lt;br /&gt;
ORA-01400: cannot insert NULL into&lt;br /&gt;
(&amp;quot;sqle&amp;quot;.&amp;quot;EMP&amp;quot;.&amp;quot;EMP_ID&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; drop table emp;&lt;br /&gt;
Table dropped.&lt;br /&gt;
   &lt;br /&gt;
    &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	</feed>