PL/SQL - Basic Syntax



In this chapter, we will discuss the Basic Syntax of PL/SQL which is a block-structured language; this means that the PL/SQL programs are divided and written in logical blocks of code. Each block consists of three sub-parts −

S.NoSections & Description
1

Declarations

This section starts with the keyword DECLARE. It is an optional section and defines all variables, cursors, subprograms, and other elements to be used in the program.

2

Executable Commands

This section is enclosed between the keywords BEGIN and END and it is a mandatory section. It consists of the executable PL/SQL statements of the program. It should have at least one executable line of code, which may be just a NULL command to indicate that nothing should be executed.

3

Exception Handling

This section starts with the keyword EXCEPTION. This optional section contains exception(s) that handle errors in the program.

Every PL/SQL statement ends with a semicolon (;). PL/SQL blocks can be nested within other PL/SQL blocks using BEGIN and END. Following is the basic structure of a PL/SQL block −

 DECLARE <declarations section> BEGIN <executable command(s)> EXCEPTION <exception handling> END; 

The 'Hello World' Example

 DECLARE message varchar2(20):= 'Hello, World!'; BEGIN dbms_output.put_line(message); END; / 

The end; line signals the end of the PL/SQL block. To run the code from the SQL command line, you may need to type / at the beginning of the first blank line after the last line of the code. When the above code is executed at the SQL prompt, it produces the following result −

 Hello World PL/SQL procedure successfully completed. 

The PL/SQL Identifiers

PL/SQL identifiers are constants, variables, exceptions, procedures, cursors, and reserved words. The identifiers consist of a letter optionally followed by more letters, numerals, dollar signs, underscores, and number signs and should not exceed 30 characters.

By default, identifiers are not case-sensitive. So you can use integer or INTEGER to represent a numeric value. You cannot use a reserved keyword as an identifier.

The PL/SQL Delimiters

A delimiter is a symbol with a special meaning. Following is the list of delimiters in PL/SQL −

DelimiterDescription
+, -, *, /Addition, subtraction/negation, multiplication, division
%Attribute indicator
'Character string delimiter
.Component selector
(,)Expression or list delimiter
:Host variable indicator
,Item separator
"Quoted identifier delimiter
=Relational operator
@Remote access indicator
;Statement terminator
:=Assignment operator
=>Association operator
||Concatenation operator
**Exponentiation operator
<<, >>Label delimiter (begin and end)
/*, */Multi-line comment delimiter (begin and end)
--Single-line comment indicator
..Range operator
<, >, <=, >=Relational operators
<>, '=, ~=, ^=Different versions of NOT EQUAL

The PL/SQL Comments

Program comments are explanatory statements that can be included in the PL/SQL code that you write and helps anyone reading its source code. All programming languages allow some form of comments.

The PL/SQL supports single-line and multi-line comments. All characters available inside any comment are ignored by the PL/SQL compiler. The PL/SQL single-line comments start with the delimiter -- (double hyphen) and multi-line comments are enclosed by /* and */.

 DECLARE -- variable declaration message varchar2(20):= 'Hello, World!'; BEGIN /* * PL/SQL executable statement(s) */ dbms_output.put_line(message); END; / 

When the above code is executed at the SQL prompt, it produces the following result −

 Hello World PL/SQL procedure successfully completed. 

PL/SQL Program Units

A PL/SQL unit is any one of the following −

  • PL/SQL block
  • Function
  • Package
  • Package body
  • Procedure
  • Trigger
  • Type
  • Type body

Each of these units will be discussed in the following chapters.

Advertisements
close