PostgreSQL – 复制数据类型
PostgreSQL使您能够定义一个变量,其数据类型引用表的列的数据类型或另一个变量的数据类型。
以下语法指的是列的数据类型:
Syntax: variable_name table_name.column_name%TYPE;
以下语法指的是另一个变量的数据类型:
Syntax: variable_name variable%TYPE;
例子:
在此示例中,我们将构建一个表(例如City ),其中包含一个具有 CHAR 数据类型的列(例如name )并创建一个变量(例如city_name )并将该列的数据类型称为数据类型的变量。
city_name city.name%TYPE := 'Delhi';
现在让我们检查变量的数据类型
SELECT pg_typeof(city_name);
这将确定变量的类型为 CHAR。
通过使用复印类型功能,您可以获得以下优势:
- 首先,您不需要关心列的数据类型。您声明一个变量来仅保存查询中该列的值。
- 其次,当列的数据类型发生变化时,无需更改函数的变量声明以适应新的变化。
- 第三,您可以将变量类型引用到函数参数的数据类型来创建多态函数,因为内部变量的类型可以从一次调用更改为下一次调用。
为变量分配别名:
PostgreSQL 允许您为任何变量定义别名,如下所示:
new_name ALIAS FOR old_name;
别名主要用于触发过程,为具有预定名称的变量分配更有意义的名称,例如NEW 或旧。