== Why is this an issue?

Any insert which omits a value for a ``++NOT NULL++`` column in a database table will be automatically rejected by the database unless a default value has been specified for the column.


*Noteworthy*

This rule raises issues only when a *Data Dictionary* is provided during the analysis. See https://docs.sonarqube.org/latest/analysis/languages/plsql/

=== Noncompliant code example

With the table ``++MY_TABLE++`` having a ``++NOT NULL++`` column ``++N2++`` without default value and a ``++NOT NULL++`` column ``++N3++`` with default value:

[source,sql]
----
  INSERT INTO MY_TABLE  -- Noncompliant; N2 value omitted
  (
    N1
  )
  VALUES
  (
    1
  )
----

=== Compliant solution

[source,sql]
----
  INSERT INTO MY_TABLE  -- Compliant even though N3 value not supplied
  (
    N1,
    N2
  )
  VALUES
  (
    1,
    'Paul'
  )
----

ifdef::env-github,rspecator-view[]

'''
== Implementation Specification
(visible only on this page)

include::../message.adoc[]

include::../highlighting.adoc[]

'''
== Comments And Links
(visible only on this page)

include::../comments-and-links.adoc[]

endif::env-github,rspecator-view[]
