O'Reilly logo

Oracle PL/SQL Best Practices by Steven Feuerstein

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Name

STYL-05: Name procedures with verb phrases and functions with noun phrases.

Synopsis

We build procedures to join together (and run) a series of logically related executable statements. The name of the procedure should reflect what those statements do, and should be in the form of a verb phrase, as in:

PROCEDURE calculate_totals (...);
PROCEDURE display_favorite_flavors (...);

A function executes one or more statements with the express intent of returning a value. The name of a function should describe what is being returned and be in the form of a noun phrase, as in:

FUNCTION total_salary (...) RETURN NUMBER;
FUNCTION book_title (...) RETURN VARCHAR2;

You might also consider standardizing elements of your procedures’ verb phrases; standard prefixes can indicate the type of operation. Here are some examples:

ins_

Inserts something

get_

Selects something

del_

Deletes something

upd_

Updates something

chk_

Validates something

Example

The following table shows some bad names for procedures and functions:

Name

What’s Wrong?

Better Name

PROCEDURE 
total_salary

What is the procedure doing with total salary? Displaying it? Calculating it?

display_total_salary
FUNCTION
calculate_total_salary

Well, of course, you’re calculating the total salary—and returning it as well.

total_salary
FUNCTION
get_total_salary

What else does a function do but get and return things? Use of the get_ prefix is unnecessary; the function usage in code makes this clear.

total_salary

Benefits

The more accurately ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required