PostgreSQL 函数
在本节中,我们将了解PostgreSQL 函数的工作原理,创建函数命令,并使用 PostgreSQL 的不同工具(例如pgadmin4和SQL shell (PSQL))查看PostgreSQL CREATE FUNCTION 命令的实时示例。
并查看调用用户定义函数的示例,例如位置表示法、命名表示法、混合表示法。
什么是 PostgreSQL 函数?
PostgreSQL函数或存储过程是一组 SQL 和过程命令,如声明、赋值、循环、控制流等,存储在数据库服务器上,可以使用SQL 接口参与。它也被称为PostgreSQL 存储过程。
我们可以用多种语言创建 PostgreSQL 函数,例如SQL、PL/pgSQL、C、Python等。
它使我们能够执行操作,这些操作通常会在数据库中的函数中执行各种命令和往返。
什么是 PostgreSQL CREATE Function 命令?
在 PostgreSQL 中,如果我们想指定一个新的用户自定义函数,可以使用CREATE FUNCTION命令。
PostgreSQL CREATE Function 命令的语法
PostgreSQL CREATE Function 命令的语法如下:
CREATE [OR REPLACE] FUNCTION function_name (arguments)
RETURNS return_datatype
LANGUAGE plpgsql
AS $variable_name$
DECLARE
declaration;
[...] -- variable declaration
BEGIN
< function_body >
[...] -- logic
RETURN { variable_name | value }
END;
$$
在上面的语法中,我们使用了以下参数,如下表所示:
参数 | 描述 |
---|---|
function_name |
|
[OR REPLACE] |
|
Function |
|
RETURN |
|
Language plpgsql |
|
Function_body |
|
PostgreSQL 创建函数命令示例
让我们看一个不同的例子来理解PostgreSQL CREATE Function命令的工作原理。
我们从 PostgreSQL 教程中创建的Javatpoint数据库中获取Car表。
创建一个新函数
在下面的命令中,我们创建了一个新函数,它计算Car_Price在Price_from 和 Price_to参数之间的汽车:
Create function get_car_Price(Price_from int, Price_to int)
returns int
language plpgsql
as
$$
Declare
Car_count integer;
Begin
select count(*)
into Car_count
from Car
where Car_price between Price_from and Price_to;
return Car_count;
End;
$$;
get_car_Price函数分为两个主要部分,分别是Header和 Function Body。
我们在Header部分使用了以下参数:
- 首先,我们指定函数名称为get_car_Price(),写在create函数之后
- 之后,get_car_Price()函数包含两个参数Price_from和Price_to,具有整数数据类型。
- 然后,get_car_Price()函数检索由 return int 条件定义的整数。
- 最后,我们使用函数语言作为plpgsql。
我们在函数体部分使用了以下参数:
- 我们在函数部分使用了美元引用的字符串常量插图,它以$$开头并以$$结尾。
- 在$$符号之间,我们可以放置一个块,它覆盖了函数的声明和逻辑。
- 在声明块中,我们声明了一个名为Car_count 的变量,它存储从Car中选择的汽车
- 在块部分的主体中,我们使用了SELECT INTO命令来选择值介于Price_from 和 Price_to之间的汽车价格,并将输出提供给Car_count
- 在块的末尾,我们使用RETURN命令获取
热门文章
优秀文章