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:
EXEC SQL
INSERT INTO MY_TABLE *> Noncompliant; N2 value omitted
(
N1
)
VALUES
(
:ITQ1-NUMBER,
)
END-EXEC.
Compliant solution
EXEC SQL
INSERT INTO MY_TABLE *> Compliant even though N3 value not supplied
(
N1,
N2
)
VALUES
(
:ITQ1-NUMBER,
:ITQ2-NUMBER,
)
END-EXEC.