35 lines
841 B
Plaintext
35 lines
841 B
Plaintext
Any insert which omits a value for a <code>NOT NULL</code> 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/display/PLUG/Data+Dictionary
|
||
|
||
== Noncompliant Code Example
|
||
|
||
With the table <code>MY_TABLE</code> having a <code>NOT NULL</code> column <code>N2</code> without default value and a <code>NOT NULL</code> column <code>N3</code> with default value:
|
||
|
||
----
|
||
INSERT INTO MY_TABLE -- Noncompliant; N2 value omitted
|
||
(
|
||
N1
|
||
)
|
||
VALUES
|
||
(
|
||
1
|
||
)
|
||
----
|
||
|
||
== Compliant Solution
|
||
|
||
----
|
||
INSERT INTO MY_TABLE -- Compliant even though N3 value not supplied
|
||
(
|
||
N1,
|
||
N2
|
||
)
|
||
VALUES
|
||
(
|
||
1,
|
||
'Paul'
|
||
)
|
||
----
|