Skip to content
Related Articles
Open in App
Not now

Related Articles

PostgreSQL – Copying Data Types

Improve Article
Save Article
  • Last Updated : 28 Aug, 2020
Improve Article
Save Article

PostgreSQL enables you to define a variable with a data type that references to the data type of a column of a table or the data type of another variable.

The below syntax refers to the data type of a column:

Syntax: variable_name table_name.column_name%TYPE;

The below syntax refers to the data type of another variable:

Syntax: variable_name variable%TYPE;


In this example, we will build a table (say, City) with a column (say, name) that has a CHAR data type and create a variable (say, city_name) and refer to the data type of the column as the data type of the variable.

city_name := 'Delhi';

Now let’s check the data type of the variable

SELECT pg_typeof(city_name);

This will establish that the variable is of type CHAR.

By using copying type feature, you receive the following advantages:

  • First, you don’t need to care about the data type of the column. You declare a variable to just hold the values of that column in a query.
  • Second, when the data type of the column changes, you don’t need to change the variable declaration in the function to adapt to the new changes.
  • Third, you can refer to the type of variables to the data type of function arguments to create polymorphic functions since the type of internal variables can change from one call to the next.

Assigning aliases to variables:

PostgreSQL allows you to define an alias for any variable as follows:

new_name ALIAS FOR old_name;

The aliases are used mainly in a trigger procedure to assign more meaningful names for variables that have predetermined names e.g., NEW or OLD.

My Personal Notes arrow_drop_up
Related Articles

Start Your Coding Journey Now!