Home

FUNCTIONS should not have OUT parameters

Rule description

  • FUNCTIONS should not have OUT parameters

 

Non-compliant Code Example

function GetCompleteCustomerDetails(customerId In INTEGER,
FirstName out nvarchar2,            --Non compliant code (Out parameters)
LastName out nvarchar2,             --Non compliant code (Out parameters)
Area out nvarchar2,                 --Non compliant code (Out parameters)
City out nvarchar2)return nvarchar2 --Non compliant code (Out parameters)
IS
BEGIN
	Select FIRSTNAME, LASTNAME, AREA, CITY Into FirstName, LastName, Area, City FROM CUSTOMERS;
	RETURN(CONCAT(CONCAT(ADDRESS1,ADDRESS2),CONCAT(Area,City))); 
END GetCompleteCustomerDetails;

Compliant Code Example

CREATE TYPE CUSTOMER_T AS OBJECT
( FirstName VARCHAR2(50),
  LastName VARCHAR2(50),
  Area VARCHAR2(100),
  City VARCHAR2(100));

function GetCompleteCustomerDetails(customerId In INTEGER) --Compliant code 
return CUSTOMER_T 
Is
BEGIN
	Select FIRSTNAME, LASTNAME, AREA, CITY Into CUSTOMER_T.FirstName, CUSTOMER_T.LastName, CUSTOMER_T.Area, CUSTOMER_T.City FROM CUSTOMERS Where Id = customerId;
	RETURN CUSTOMER_T; 
END GetCompleteCustomerDetails;
Visual Expert 2020
 VEPLSQLRULE69