Home

Code Rules

Display all the rules belongs to Power Builder language.

Category Severity Name Description
Vulnerability Critical AES encryption algorithm should be used with secured mode AES encryption algorithm should be used with secured mode
Bug Major All branches in a conditional structure should not have exactly the same implementation All branches in a conditional structure should not have exactly the same implementation
Maintainability Minor Boolean checks should not be inverted Boolean checks should not be inverted
Maintainability Minor Boolean literals should not be redundant Boolean literals should not be redundant
Maintainability Critical CASE expressions should end with ELSE clauses CASE expressions should end with ELSE clauses
Maintainability Minor CASE should be used for sequences of simple tests CASE should be used for sequences of simple tests
Maintainability Major CASE structures should not have too many WHEN clauses CASE structures should not have too many WHEN clauses
Maintainability Major Collapsible if statements should be merged Collapsible if statements should be merged
Maintainability Minor Comments should not be located at the end of lines of code Comments should not be located at the end of lines of code
Vulnerability Minor Console logging should not be used Console logging should not be used
Vulnerability Critical CoSetProxyBlanket and CoInitializeSecurity should not be used CoSetProxyBlanket and CoInitializeSecurity should not be used
Vulnerability Critical Cryptographic keys should be robust Cryptographic keys should be robust
Vulnerability Critical Database queries should not be vulnerable to injection attacks Database queries should not be vulnerable to injection attacks
Vulnerability Critical DES Crypting DES Crypting should not be used
Vulnerability Critical Encryption algorithms should be used with secure mode and padding scheme Encryption algorithms should be used with secure mode and padding scheme
Maintainability Minor EXIT should not be used in loops EXIT should not be used in loops
Vulnerability Minor Fields should not have public accessibility Fields should not have public accessibility
Maintainability Major Files should not have too many lines of code Files should not have too many lines of code
Maintainability Major FOR loop end conditions should not be hard - coded FOR loop end conditions should not be hard - coded
Maintainability Major Function and Event parameters should comply with a naming convention Function and Event parameters should comply with a naming convention
Maintainability Major Function OR Event name should comply with a naming convention Function OR Event name should comply with a naming convention
Maintainability Major Functions Or Events should not have too many parameters Functions Or Events should not have too many parameters
Bug Critical Functions should end with RETURN statements Functions should end with RETURN statements
Vulnerability Minor Generic exceptions should not be ignored Generic exceptions should not be ignored
Maintainability Critical GOTO should not be used to jump backwards GOTO should not be used to jump backwards
Maintainability Major GOTO should not be used within loops GOTO should not be used within loops
Maintainability Major GOTO statements should not be used GOTO statements should not be used
Vulnerability Critical Hard coded IP address Hard coded IP address should not be used
Vulnerability Critical Hard coded UserId / Password Hard coded UserId / Password for database connection should not be used
Vulnerability Critical I/O function calls should not be vulnerable to path injection attacks I/O function calls should not be vulnerable to path injection attacks
Maintainability Critical IF ... ELSEIF constructs should end with ELSE clauses IF ... ELSEIF constructs should end with ELSE clauses
Bug Major IF statement conditions should not evaluate unconditionally to TRUE or to FALSE IF statement conditions should not evaluate unconditionally to TRUE or to FALSE
Maintainability Critical IF statements should not be nested too deeply IF statements should not be nested too deeply
Bug Major Jump statements should not be followed by dead code Jump statements should not be followed by dead code
Maintainability Minor Jump statements should not be redundant Jump statements should not be redundant
Maintainability Major Lines should not be too long Lines should not be too long
Maintainability Minor Lines should not end with trailing whitespaces Lines should not end with trailing whitespaces
Bug Major Loops with at most one iteration should be refactored Loops with at most one iteration should be refactored
Vulnerability Minor Mutable fields should not be public static Mutable fields should not be public static
Maintainability Critical Newline and control characters should not be used in string literals Newline and control characters should not be used in string literals
Vulnerability Critical OS commands should not be vulnerable to injection attacks OS commands should not be vulnerable to injection attacks
Maintainability Major Redundant pairs of parentheses should be removed Redundant pairs of parentheses should be removed
Vulnerability Critical Regular expressions should not be vulnerable to Denial of Service attacks Regular expressions should not be vulnerable to Denial of Service attacks
Bug Major Related IF/ELSIF statements and WHEN clauses in a CASE should not have the same condition Related IF/ELSIF statements and WHEN clauses in a CASE should not have the same condition
Maintainability Minor Return of boolean expressions should not be wrapped into an if-then-else statement Return of boolean expressions should not be wrapped into an if-then-else statement
Vulnerability Critical SHA-1 and Message-Digest hash algorithms should not be used in secure contexts SHA-1 and Message-Digest hash algorithms should not be used in secure contexts
Vulnerability Critical Soap and INET Soap and INET should not be used
Maintainability Major Statements should be on separate lines Statements should be on separate lines
Maintainability Critical String literals should not be duplicated String literals should not be duplicated
Maintainability Major Track uses of FIXME tags Track uses of FIXME tags
Maintainability Information Track uses of TODO tags Track uses of TODO tags
Maintainability Major Two branches in a conditional structure should not have exactly the same implementation Two branches in a conditional structure should not have exactly the same implementation
Maintainability Major Unused event and function parameters should be removed Unused event and function parameters should be removed
Maintainability Minor Unused global variables/constants should be removed Unused global variables/constants should be removed
Maintainability Major Unused labels should be removed Unused labels should be removed
Maintainability Minor Unused local variables should be removed Unused local variables should be removed
Maintainability Minor Variables should comply with a naming convention Variables should comply with a naming convention
Bug Major Variables should not be self-assigned Variables should not be self-assigned
Maintainability Major WHEN clauses should not have too many lines WHEN clauses should not have too many lines

Display all the rules belongs to Oracle language.

Category Severity Name Description
Maintainability Critical %TYPE and %ROWTYPE should not be used in package specification %TYPE and %ROWTYPE should not be used in package specification
Maintainability Critical A primary key should be specified during table creation A primary key should be specified during table creation
Bug Major All branches in a conditional structure should not have exactly the same implementation All branches in a conditional structure should not have exactly the same implementation
Maintainability Minor An ORDER BY direction should be specified explicitly An ORDER BY direction should be specified explicitly
Maintainability Critical Block labels should appear on the same lines as END Block labels should appear on the same lines as END
Maintainability Critical Block start and end labels should match Block start and end labels should match
Maintainability Critical Blocks containing EXECUTE IMMEDIATE should trap all exceptions Blocks containing EXECUTE IMMEDIATE should trap all exceptions
Maintainability Minor Boolean checks should not be inverted Boolean checks should not be inverted
Maintainability Minor Boolean literals should not be redundant Boolean literals should not be redundant
Maintainability Critical CASE expressions should end with ELSE clauses CASE expressions should end with ELSE clauses
Maintainability Minor CASE should be used for sequences of simple tests CASE should be used for sequences of simple tests
Maintainability Major CASE should be used rather than DECODE CASE should be used rather than DECODE
Maintainability Major CASE structures should not have too many WHEN clauses CASE structures should not have too many WHEN clauses
Maintainability Major Collapsible if statements should be merged Collapsible if statements should be merged
Bug Critical Collections should not be iterated in FOR loops Collections should not be iterated in FOR loops
Maintainability Major Column aliases should be defined using AS Column aliases should be defined using AS
Maintainability Major Column names should be used in a SQL ORDER BY clause Column names should be used in a SQL ORDER BY clause
Maintainability Major Columns should be aliased Columns should be aliased
Maintainability Major Columns to be read with a SELECT statement should be clearly defined Columns to be read with a SELECT statement should be clearly defined
Maintainability Minor Comments should not be located at the end of lines of code Comments should not be located at the end of lines of code
Maintainability Minor Comments should not be nested Comments should not be nested
Bug Critical COMMIT and ROLLBACK should not be called from non-autonomous transaction triggers COMMIT and ROLLBACK should not be called from non-autonomous transaction triggers
Bug Critical COMMIT should not be used inside a loop COMMIT should not be used inside a loop
Maintainability Major Compound triggers should define at least two triggers Compound triggers should define at least two triggers
Bug Critical Constant declarations should contain initialization assignments Constant declarations should contain initialization assignments
Maintainability Minor Constraint names should comply with a naming convention Constraint names should comply with a naming convention
Bug Critical Constraints should not be applied to types that cannot be constrained Constraints should not be applied to types that cannot be constrained
Maintainability Critical CREATE OR REPLACE should be used instead of CREATE CREATE OR REPLACE should be used instead of CREATE
Maintainability Major CREATE_TIMER should not be used CREATE_TIMER should not be used
Maintainability Major CROSS JOIN queries should not be used CROSS JOIN queries should not be used
Maintainability Minor Cursor parameters should follow a naming convention Cursor parameters should follow a naming convention
Maintainability Minor cursor%NOTFOUND should be used instead of NOT cursor%FOUND cursor%NOTFOUND should be used instead of NOT cursor%FOUND
Maintainability Minor Cursors should follow a naming convention Cursors should follow a naming convention
Maintainability Critical DBMS_OUTPUT.PUT_LINE should not be used DBMS_OUTPUT.PUT_LINE should not be used
Maintainability Minor DBMS_UTILITY.FORMAT_ERROR_STACK and FORMAT_ERROR_BACKTRACE should be used together DBMS_UTILITY.FORMAT_ERROR_STACK and FORMAT_ERROR_BACKTRACE should be used together
Maintainability Major Dead stores should be removed Dead stores should be removed
Maintainability Major Deprecated LONG and LONG RAW datatypes should no longer be used Deprecated LONG and LONG RAW datatypes should no longer be used
Vulnerability Critical DES or 3DES Used Neither DES (Data Encryption Standard) nor DESede (3DES) should be used
Bug Major DML events clauses should not include multiple OF clauses DML events clauses should not include multiple OF clauses
SecurityWarning Critical Dynamically executing code is security-sensitive Dynamically executing code is security-sensitive
Bug Critical END LOOP should be followed by a semicolon END LOOP should be followed by a semicolon
Maintainability Major END statements of labeled blocks should be labeled END statements of labeled blocks should be labeled
Maintainability Major END statements of labeled loops should be labeled END statements of labeled loops should be labeled
Maintainability Minor EXCEPTION WHEN ... THEN clauses should do more than EXCEPTION WHEN ... THEN clauses should do more than RAISE
Maintainability Critical EXCEPTION_INIT -20,NNN calls should be centralized EXCEPTION_INIT -20,NNN calls should be centralized
Maintainability Minor Exceptions should follow a naming convention Exceptions should follow a naming convention
Vulnerability Critical Exceptions should not be ignored Exceptions should not be ignored
Maintainability Major EXECUTE IMMEDIATE should be used instead of DBMS_SQL procedure calls EXECUTE IMMEDIATE should be used instead of DBMS_SQL procedure calls
Maintainability Minor EXIT should not be used in loops EXIT should not be used in loops
Maintainability Major EXIT WHEN should be used rather than IF ... THEN EXIT; END IF EXIT WHEN should be used rather than IF ... THEN EXIT; END IF
Bug Minor Explicitly opened cursors should be closed Explicitly opened cursors should be closed
Maintainability Major Features deprecated in Oracle 12 should not be used Features deprecated in Oracle 12 should not be used
Maintainability Major FETCH ... BULK COLLECT INTO should be used FETCH ... BULK COLLECT INTO should be used
Bug Critical FETCH ... BULK COLLECT INTO should not be used without a LIMIT clause FETCH ... BULK COLLECT INTO should not be used without a LIMIT clause
Maintainability Major Files should not have too many lines of code Files should not have too many lines of code
Maintainability Major FOR loop end conditions should not be hard - coded FOR loop end conditions should not be hard - coded
Maintainability Major FORALL should be used FORALL should be used
Bug Critical FORALL statements should use the SAVE EXCEPTIONS clause FORALL statements should use the SAVE EXCEPTIONS clause
Bug Critical FORMS_DDL('COMMIT') and FORMS_DDL('ROLLBACK') should not be used FORMS_DDL('COMMIT') and FORMS_DDL('ROLLBACK') should not be used
Maintainability Major FULL OUTER JOINS should be used with caution FULL OUTER JOINS should be used with caution
Maintainability Major Function and procedure names should comply with a naming convention Function and procedure names should comply with a naming convention
Maintainability Major Function and procedure parameters should comply with a naming convention Function and procedure parameters should comply with a naming convention
Maintainability Major Functions and procedures should not have too many parameters Functions and procedures should not have too many parameters
Bug Critical Functions should end with RETURN statements Functions should end with RETURN statements
Maintainability Major FUNCTIONS should not have OUT parameters FUNCTIONS should not have OUT parameters
Maintainability Critical Global public variables should not be defined Global public variables should not be defined
Maintainability Critical GOTO should not be used to jump backwards GOTO should not be used to jump backwards
Maintainability Major GOTO should not be used within loops GOTO should not be used within loops
Maintainability Major GOTO statements should not be used GOTO statements should not be used
Maintainability Major GROUP BY should not be used in SQL SELECT statements GROUP BY should not be used in SQL SELECT statements
Bug Major Identical expressions should not be used on both sides of a binary operator Identical expressions should not be used on both sides of a binary operator
Maintainability Minor Identifiers should be written in lower case Identifiers should be written in lower case
Bug Major IF statement conditions should not evaluate unconditionally to TRUE or to FALSE IF statement conditions should not evaluate unconditionally to TRUE or to FALSE
Maintainability Critical IF statements should not be nested too deeply IF statements should not be nested too deeply
Maintainability Critical IF...ELSEIF constructs should end with ELSE clauses IF...ELSEIF constructs should end with ELSE clauses
Bug Critical Improper constraint forms should not be used Improper constraint forms should not be used
Maintainability Major In labeled loops EXIT should exit the label In labeled loops EXIT should exit the label
Bug Critical Individual WHERE clause conditions should not be unconditionally true or false Individual WHERE clause conditions should not be unconditionally true or false
Bug Critical Insert statement values not including Non-Null Columns Insert statements should include values for non-null columns
Maintainability Critical INSERT statements should explicitly list the columns to be set INSERT statements should explicitly list the columns to be set
Bug Major Jump statements should not be followed by dead code Jump statements should not be followed by dead code
Maintainability Minor Jump statements should not be redundant Jump statements should not be redundant
Maintainability Major Labels redefined in inner scopes Labels should not be re-defined in inner scopes
Maintainability Major Large item lists should not be used with IN clauses Large item lists should not be used with IN clauses
Maintainability Critical LIKE clauses should not be used without wildcards LIKE clauses should not be used without wildcards
Maintainability Major LIKE clauses should not start with wildcard characters LIKE clauses should not start with wildcard characters
Maintainability Minor Lines in a multiline comment should start with * Lines in a multiline comment should start with *
Maintainability Major Lines should not be too long Lines should not be too long
Maintainability Critical Lines should not end with trailing whitespaces Lines should not end with trailing whitespaces
Maintainability Critical LOOP ... END LOOP; constructs should be avoided LOOP ... END LOOP; constructs should be avoided
Maintainability Critical Loop start and end labels should match Loop start and end labels should match
Bug Major Loops with at most one iteration should be refactored Loops with at most one iteration should be refactored
Maintainability Major Magic numbers should not be used Magic numbers should not be used
Bug Major MLSLABEL should not be used MLSLABEL should not be used
Maintainability Major Native SQL joins should be used Native SQL joins should be used
Maintainability Major NATURAL JOIN queries should not be used NATURAL JOIN queries should not be used
Bug Critical NCHAR and NVARCHAR2 size in bytes NCHAR and NVARCHAR2 size should not be specified in bytes
Maintainability Major Nested blocks should be labeled Nested blocks should be labeled
Maintainability Major Nested loops should be labeled Nested loops should be labeled
Maintainability Major Nested subqueries should be avoided Nested subqueries should be avoided
Maintainability Critical Newline and control characters should not be used in string literals Newline and control characters should not be used in string literals
Bug Major NULL should not be compared directly NULL should not be compared directly
Bug Critical Nullable subqueries should not be used in NOT IN conditions Nullable subqueries should not be used in NOT IN conditions
Maintainability Major NUMBER variables should be declared with precision NUMBER variables should be declared with precision
Maintainability Minor Object attributes should comply with a naming convention Object attributes should comply with a naming convention
Maintainability Minor Oracle's join operator (+) should not be used Oracle's join operator (+) should not be used
Bug Major Output parameters should be assigned Output parameters should be assigned
Bug Critical Overridden Predefined Exceptions Predefined exceptions should not be overridden
Bug Major PACKAGE BODY initialization sections should not contain RETURN statements PACKAGE BODY initialization sections should not contain RETURN statements
Maintainability Minor Package names should comply with a naming convention Package names should comply with a naming convention
Maintainability Minor Parameter IN mode should be specified explicitly Parameter IN mode should be specified explicitly
Bug Critical Pipelined functions should have at least one PIPE ROW statement and not return an expression Pipelined functions should have at least one PIPE ROW statement and not return an expression (PLS-00633)
Maintainability Minor PLS_INTEGER types should be used PLS_INTEGER types should be used
Bug Critical Positional and named arguments should not be mixed in invocations Positional and named arguments should not be mixed in invocations
Maintainability Major Procedures and functions should be encapsulated in packages Procedures and functions should be encapsulated in packages
Maintainability Major Procedures should have parameters Procedures should have parameters
Maintainability Minor Procedures should not contain RETURN statements Procedures should not contain RETURN statements
Maintainability Major Queries should not SELECT too many columns Queries should not SELECT too many columns
Maintainability Critical Quoted identifiers should not be used Quoted identifiers should not be used
Bug Critical RAISE_APPLICATION_ERROR should only be used with error codes from -20,000 to - 20,999 RAISE_APPLICATION_ERROR should only be used with error codes from -20,000 to - 20,999
Maintainability Minor Record fields should comply with a naming convention Record fields should comply with a naming convention
Maintainability Major Redundant pairs of parentheses should be removed Redundant pairs of parentheses should be removed
Bug Major Related IF / ELSIF statements and WHEN clauses in a CASE should not have the same condition Related IF / ELSIF statements and WHEN clauses in a CASE should not have the same condition
Maintainability Major RESULT_CACHE should not be used RESULT_CACHE should not be used
Maintainability Minor Return of boolean expressions should not be wrapped into an if-then -else statement Return of boolean expressions should not be wrapped into an if-then -else statement
Maintainability Major ROWID and UROWID data types should not be used ROWID and UROWID data types should not be used
Bug Major ROWNUM should not be used at the same query level as ORDER BY ROWNUM should not be used at the same query level as ORDER BY
Bug Critical Scale should not be specified for float types Scale should not be specified for float types
Maintainability Critical SELECT statements used as argument of EXISTS statements should be selective SELECT statements used as argument of EXISTS statements should be selective
Vulnerability Critical Sensitive SYS owned functions should not be used Sensitive SYS owned functions should not be used
Vulnerability Critical SHA-1 and Message-Digest hash algorithms should not be used in secure contexts SHA-1 and Message-Digest hash algorithms should not be used in secure contexts
Maintainability Major SIMPLE_INTEGER should be used instead of PLS_INTEGER SIMPLE_INTEGER should be used instead of PLS_INTEGER
Maintainability Minor Single line comments should start with -- Single line comments should start with --
Maintainability Major SQL EXISTS subqueries should not be used SQL EXISTS subqueries should not be used
Maintainability Critical SQL JOIN conditions should involve all joined tables SQL JOIN conditions should involve all joined tables
Maintainability Major SQL statements should not join too many tables SQL statements should not join too many tables
Maintainability Minor SQL tables should be joined with the JOIN keyword SQL tables should be joined with the JOIN keyword
Maintainability Major Statements should be on separate lines Statements should be on separate lines
Maintainability Critical String literals should not be duplicated String literals should not be duplicated
Bug Critical String variables with no Size specification Size should be specified for string variables
Bug Major Strings should only be moved to variables or columns which are large enough to hold them Strings should only be moved to variables or columns which are large enough to hold them
Bug Critical SYNCHRONIZE should not be used SYNCHRONIZE should not be used
Maintainability Major Tables should be aliased Tables should be aliased
Bug Critical The number of variables in a FETCH statement should match the number of columns in the cursor The number of variables in a FETCH statement should match the number of columns in the cursor
Maintainability Minor The RELIES_ON clause should not be used The RELIES_ON clause should not be used
Bug Major The result_cache hint should be avoided The result_cache hint should be avoided
Maintainability Major TO_DATE and TO_TIMESTAMP should be used with a datetime format model TO_DATE and TO_TIMESTAMP should be used with a datetime format model
Maintainability Major TO_NUMBER should be used with a format model TO_NUMBER should be used with a format model
Maintainability Major Track breaches of an XPath rule Track breaches of an XPath rule
Maintainability Major Track comments matching a regular expression Track comments matching a regular expression
Maintainability Major Track uses of FIXME tags Track uses of FIXME tags
Maintainability Major Track uses of NOSONAR comments Track uses of NOSONAR comments
Maintainability Information Track uses of TODO tags Track uses of TODO tags
Maintainability Major Two branches in a conditional structure should not have exactly the same implementation Two branches in a conditional structure should not have exactly the same implementation
Maintainability Minor Types should follow a naming convention Types should follow a naming convention
Bug Major Unary prefix operators should not be repeated Unary prefix operators should not be repeated
Bug Critical Uninitialized NOT NULL Variables NOT NULL variables should be initialized
Maintainability Major UNION should be used with caution UNION should be used with caution
Maintainability Major Unused labels should be removed Unused labels should be removed
Maintainability Minor Unused local variables should be removed Unused local variables should be removed
Maintainability Major Unused Procedure and Function Parameters Unused procedure and function parameters should be removed
Bug Major VARCHAR2 and NVARCHAR2 should be used VARCHAR2 and NVARCHAR2 should be used
Maintainability Major VARCHAR2 should be used VARCHAR2 should be used
Bug Major Variables and columns should not be self-assigned Variables and columns should not be self-assigned
Bug Critical Variables Declared multiple times in nested scope Variables should be declared only once in a scope
Maintainability Minor Variables Naming Convention Variables should comply with a naming convention
Maintainability Major Variables should be nullable Variables should be nullable
Maintainability Minor Variables should not be initialized with NULL Variables should not be initialized with NULL
Maintainability Critical Weak REF CURSOR types should not be used Weak REF CURSOR types should not be used
Maintainability Major WHEN clauses should not have too many lines WHEN clauses should not have too many lines
Maintainability Critical WHEN OTHERS clauses should be used for exception handling WHEN OTHERS clauses should be used for exception handling
Maintainability Critical WHEN OTHERS should not be the only exception handler WHEN OTHERS should not be the only exception handler
Bug Critical WHERE Clause DELETE and UPDATE statements should contain WHERE clause
Bug Major WHERE clause conditions should not be contradictory WHERE clause conditions should not be contradictory

Display all the rules belongs to SqlServer language.

Category Severity Name Description
Maintainability Major @@IDENTITY should not be used @@IDENTITY should not be used
Maintainability Critical A primary key should be specified during table creation A primary key should be specified during table creation
Bug Major All branches in a conditional structure should not have exactly the same implementation All branches in a conditional structure should not have exactly the same implementation
Maintainability Major ANSI_NULLS, ANSI_PADDING and CONCAT_NULL_YIELDS_NULL should not be configured ANSI_NULLS, ANSI_PADDING and CONCAT_NULL_YIELDS_NULL should not be configured
Maintainability Minor Boolean checks should not be inverted Boolean checks should not be inverted
Maintainability Critical CASE expressions should end with ELSE clauses CASE expressions should end with ELSE clauses
Maintainability Major CASE expressions should not have too many WHEN clauses CASE expressions should not have too many WHEN clauses
Bug Critical CASE input expressions should be invariant CASE input expressions should be invariant
Maintainability Minor CATCH clauses should do more than rethrow CATCH clauses should do more than rethrow
Maintainability Major COALESCE, IIF, and CASE input expressions should not contain subqueries COALESCE, IIF, and CASE input expressions should not contain subqueries
Maintainability Major Collapsible if statements should be merged Collapsible if statements should be merged
Maintainability Major Column names should be used in an ORDER BY clause Column names should be used in an ORDER BY clause
Maintainability Minor Column references should not have more than two-parts Column references should not have more than two-parts
Maintainability Major Columns to be read with a SELECT statement should be clearly defined Columns to be read with a SELECT statement should be clearly defined
Maintainability Critical Conditionally executed code should be denoted by either indentation or BEGIN...END block Conditionally executed code should be denoted by either indentation or BEGIN...END block
Maintainability Critical Conditionals should start on new lines Conditionals should start on new lines
Maintainability Critical Control flow statements IF, WHILE and TRY should not be nested too deeply Control flow statements IF, WHILE and TRY should not be nested too deeply
Maintainability Critical Control structures should use BEGIN...END blocks Control structures should use BEGIN...END blocks
Bug Critical DELETE and UPDATE statements should contain WHERE clauses DELETE and UPDATE statements should contain WHERE clauses
Maintainability Major Deprecated features should not be used Deprecated features should not be used
Maintainability Major Deprecated system tables and views should not be used Deprecated system tables and views should not be used
Maintainability Major Duplicate values should not be passed as arguments Duplicate values should not be passed as arguments
SecurityWarning Critical Dynamically executing code is security-sensitive Dynamically executing code is security-sensitive
Maintainability Minor Empty statements should be removed Empty statements should be removed
Maintainability Critical Expressions should not be too complex Expressions should not be too complex
Maintainability Major Files should not have too many lines of code Files should not have too many lines of code
Maintainability Major Function and procedure names should comply with a naming convention Function and procedure names should comply with a naming convention
Maintainability Major Functions and procedures should not have too many parameters Functions and procedures should not have too many parameters
Maintainability Major Functions and stored procedure should not have too many lines of code Functions and stored procedure should not have too many lines of code
Maintainability Major GOTO statements should not be used GOTO statements should not be used
Bug Major Identical expressions should not be used on both sides of a binary operator Identical expressions should not be used on both sides of a binary operator
Maintainability Critical IF ... ELSEIF constructs should end with ELSE clauses IF ... ELSEIF constructs should end with ELSE clauses
Maintainability Critical INSERT statements should explicitly list the columns to be set INSERT statements should explicitly list the columns to be set
Bug Major Jump statements should not be followed by dead code Jump statements should not be followed by dead code
Maintainability Minor Jump statements should not be redundant Jump statements should not be redundant
Maintainability Minor LIKE clauses should not be used without wildcards LIKE clauses should not be used without wildcards
Maintainability Major LIKE clauses should not start with wildcard characters LIKE clauses should not start with wildcard characters
Maintainability Major Lines should not be too long Lines should not be too long
Maintainability Minor Local variable and parameter names should comply with a naming convention Local variable and parameter names should comply with a naming convention
Bug Major Loops with at most one iteration should be refactored Loops with at most one iteration should be refactored
Maintainability Major Multiline blocks should be enclosed in BEGIN...END blocks Multiline blocks should be enclosed in BEGIN...END blocks
Maintainability Minor Multiple variables should not be declared on the same line Multiple variables should not be declared on the same line
Maintainability Critical NOCOUNT should be activated on PROCEDURE and TRIGGER definitions NOCOUNT should be activated on PROCEDURE and TRIGGER definitions
Maintainability Minor Non-standard comparison operators should not be used Non-standard comparison operators should not be used
Bug Major NULL should not be compared directly NULL should not be compared directly
Bug Critical Nullable subqueries should not be used in NOT IN conditions Nullable subqueries should not be used in NOT IN conditions
Bug Major Output parameters should be assigned Output parameters should be assigned
Maintainability Major Queries should not join too many tables Queries should not join too many tables
Bug Major Queries that use TOP should have an ORDER BY Queries that use TOP should have an ORDER BY
Maintainability Major Redundant pairs of parentheses should be removed Redundant pairs of parentheses should be removed
Bug Major Related IF/ELSE IF statements and WHEN clauses in a CASE should not have the same condition Related IF/ELSE IF statements and WHEN clauses in a CASE should not have the same condition
Maintainability Minor Reserved keywords should not be used as identifiers or object names Reserved keywords should not be used as identifiers or object names
Maintainability Critical SELECT statements used as argument of EXISTS statements should be selective SELECT statements used as argument of EXISTS statements should be selective
Vulnerability Critical SHA-1 and Message-Digest hash algorithms should not be used in secure contexts SHA-1 and Message-Digest hash algorithms should not be used in secure contexts
Maintainability Critical Size should be specified for varchar variables and parameters Size should be specified for varchar variables and parameters
Maintainability Major Statements should be on separate lines Statements should be on separate lines
Maintainability Critical String literals should not be duplicated String literals should not be duplicated
Maintainability Major Tabulation characters should not be used Tabulation characters should not be used
Bug Critical The number of variables in a FETCH statement should match the number of columns in the cursor The number of variables in a FETCH statement should match the number of columns in the cursor
Maintainability Major Track lack of SQL Server session configuration Track lack of SQL Server session configuration
Maintainability Major Track uses of FIXME tags Track uses of FIXME tags
Maintainability Information Track uses of TODO tags Track uses of TODO tags
Maintainability Minor Triggers should not PRINT, SELECT, or FETCH Triggers should not PRINT, SELECT, or FETCH
Maintainability Major Two branches in a conditional structure should not have exactly the same implementation Two branches in a conditional structure should not have exactly the same implementation
Bug Major Unary prefix operators should not be repeated Unary prefix operators should not be repeated
Maintainability Minor Unused local variables should be removed Unused local variables should be removed
Maintainability Major Unused procedure and function parameters should be removed Unused procedure and function parameters should be removed
SecurityWarning Minor Using hardcoded IP addresses is security-sensitive Using hardcoded IP addresses is security-sensitive
Bug Major Variables should not be self-assigned Variables should not be self-assigned
Maintainability Major WHEN clauses should not have too many lines of code WHEN clauses should not have too many lines of code
Bug Major WHERE clause conditions should not be contradictory WHERE clause conditions should not be contradictory
Bug Major WHERE clauses should not contain redundant conditions WHERE clauses should not contain redundant conditions