
Inline adoc files when they are included exactly once. Also fix language tags because this inlining gives us better information on what language the code is written in.
48 lines
945 B
Plaintext
48 lines
945 B
Plaintext
== 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 *Database Catalog* is provided during the analysis. See \https://docs.sonarqube.org/latest/analysis/languages/cobol/
|
|
|
|
|
|
=== 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,text]
|
|
----
|
|
EXEC SQL
|
|
INSERT INTO MY_TABLE *> Noncompliant; N2 value omitted
|
|
(
|
|
N1
|
|
)
|
|
VALUES
|
|
(
|
|
:ITQ1-NUMBER,
|
|
)
|
|
END-EXEC.
|
|
----
|
|
|
|
|
|
=== Compliant solution
|
|
|
|
[source,text]
|
|
----
|
|
EXEC SQL
|
|
INSERT INTO MY_TABLE *> Compliant even though N3 value not supplied
|
|
(
|
|
N1,
|
|
N2
|
|
)
|
|
VALUES
|
|
(
|
|
:ITQ1-NUMBER,
|
|
:ITQ2-NUMBER,
|
|
)
|
|
END-EXEC.
|
|
----
|
|
|