In PostgreSQL, a
variable
assigns a specific name to a memory location. Data can be temporarily stored in variables during code execution. In Postgres, variables need to be declared with a specific data type in the declaration block. Variables keep the mutable data that can be modified using a function or code block.
Try the new
PgManage (Open Source)
and get rid of PgAdmin!
This write-up presents a practical guide on declaring the variables in Postgres.
How to Declare a Variable in Postgres?
A variable in Postgres is always declared with a particular data type, such as INTEGER, TEXT, DATE, TIME, etc. Here is the syntax to declare a variable in Postgres:
DECLARE var_name < CONSTANT > data_type < NOT NULL > < { DEFAULT | := } expression >;
In this syntax:
- The “
var_name
” represents a meaningful name that will be assigned to a variable.
- “
CONSTANT
” is an optional parameter, used to assign a non-changeable value to the given variable.
- Replace the “
data_type
” with a valid data type, such as INT, DATE, TEXT, etc.
- The “
NOT NULL
” is an optional parameter that makes sure that the variable must contain a non-null value.
- The “
DEFAULT
” keyword initializes the given variable with a default or initial value.
- The “
:=
” or “
=
” operator is used to initialize a variable.
Let’s learn how to declare a variable in Postgres using the following examples.
Example 1: How to Declare and Initialize the Variables in Postgres?
The below code explains how to declare and initialize different variables in Postgres:
DO $$
DECLARE
roll_number INT;
std_name TEXT;
BEGIN
roll_number := 5;
std_name := 'Joseph';
RAISE NOTICE 'Student Roll No: %, Student Name is %',
roll_number,
std_name;
END $$;
In the above snippet:
- Initially, the “
DO
” keyword is used to execute the code block.
- Two variables “roll_number” and “std_name” are declared within the “
DECLARE
” block.
- The “
BEGIN
” keyword starts the transaction block.
- The declared variables are initialized with some values in the “
BEGIN
” block.
- The “
RAISE NOTICE
” statement is used to print the variables.
- The variables to be printed are specified within the “
RAISE NOTICE
” and “
END
” statements.
- The “
%
” placeholders are used to print the values of the given variables.
- The “
END
” statement halts the transaction block.
The output demonstrates that the variables have been successfully declared, initialized, and printed.
Example 2: How to Declare the Variables With Default Values in Postgres?
In the following coding example, various variables are declared and initialized with default string values:
DO $$
DECLARE
std_name TEXT := 'Alex';
std_department VARCHAR(30) := 'Computer Science';
BEGIN
RAISE NOTICE '% is enrolled in % department',
std_name,
std_department;
END $$;
In this example:
- In the “
DECLARE
” block, two variables are declared and initialized with the default values.
- The “
TEXT
” and “
VARCHAR
” data types are used to declare two different variables.
- The “
RAISE
” command is used to display the errors or notices.
The output proves the variables’ declaration and initialization.
Example 3: How to Change the Variables Default Values in Postgres?
In Postgres, the variables' default or initial values can be changed in the program at any time:
DO $$
DECLARE
std_name TEXT := 'Alex';
std_department VARCHAR(30) := 'Computer Science';
BEGIN
std_name = 'John';
RAISE NOTICE '% is enrolled in % department',
std_name,
std_department;
END $$;
In the above code, the initial value of the “std_name” variable is re-initialized in the “BEGIN” block:
The output shows that the value of “std_name” has been successfully changed from “Alex” to “John”.
Example 4: How to Declare Constant Variables in Postgres?
The following code snippet illustrates the usage of the CONSTANT keyword:
DO $$
DECLARE
std_name CONSTANT TEXT := 'Alex';
std_department VARCHAR(30) := 'Computer Science';
BEGIN
std_name = 'John';
RAISE NOTICE '% is enrolled in % department',
std_name,
std_department;
END $$;
The CONSTANT is used to declare a non-changeable variable:
The output shows that an error occurs when we try to change the value of the constant variable.
Conclusion
In PostgreSQL, a variable is always declared with a particular data type, such as INTEGER, TEXT, DATE, TIME, etc. To declare a variable, use the “DECLARE var_name data_type:= expression;” syntax. Variables keep the mutable data that can be modified using a function or block code. However, the constant variables can be declared using the CONSTANT keyword. This write-up illustrated a thorough guide on how to declare a variable in Postgres using appropriate examples.