rspec/rules/S3618/plsql/rule.adoc
2021-01-27 13:42:22 +01:00

35 lines
811 B
Plaintext
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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/display/PLUG/Data+Dictionary
== 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:
----
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'
)
----