gpt4 book ai didi

sql - PostgreSQL 存储过程(函数)的正确语法是什么?

转载 作者:行者123 更新时间:2023-11-29 11:28:42 24 4
gpt4 key购买 nike

我正在尝试在 PostgreSQL 中编写两种类型的存储过程。据我了解,Postgre 只有功能。我想知道是否有人可以看一下我的代码并提供指导。另外,我不熟悉命令的间距/新行。

第一个函数需要获取用户的输入并将其添加到表格中。假设我们有一个名为“Car”的表,其属性为“model”和“year”。这是向表中添加新车的正确存储函数吗?

CREATE OR REPLACE FUNCTION
addto_car(model IN Car.model%type, year IN Car.year%type)
RETURNS
void
AS $$
BEGIN
INSERT INTO Car VALUES(model, year);
END;
$$ LANGUAGE plpgsql; (#Is this correct? I'm using postgresql 9)

------------ 进行中代码函数一

CREATE OR REPLACE FUNCTION
addto_car(In model Car.model%type, IN year Car.year%type)
AS $$
BEGIN
INSERT INTO Car VALUES(model, year);
END;
$$ LANGUAGE plpgsql;

这现在有效了! (将值模型和年份插入 Car)。

最佳答案

来自Official Documentation

CREATE [ OR REPLACE ] FUNCTION
name ( [ [ argmode ] [ argname ] argtype [ { DEFAULT | = } default_expr ] [, ...] ] )
[ RETURNS rettype
| RETURNS TABLE ( column_name column_type [, ...] ) ]
{ LANGUAGE lang_name
| WINDOW
| IMMUTABLE | STABLE | VOLATILE
| CALLED ON NULL INPUT | RETURNS NULL ON NULL INPUT | STRICT
| [ EXTERNAL ] SECURITY INVOKER | [ EXTERNAL ] SECURITY DEFINER
| COST execution_cost
| ROWS result_rows
| SET configuration_parameter { TO value | = value | FROM CURRENT }
| AS 'definition'
| AS 'obj_file', 'link_symbol'
} ...
[ WITH ( attribute [, ...] ) ]

您会在那里找到您的答案,并可能在此过程中学到两三件有用的东西。

您可能对 RETURNS TABLE 结构特别感兴趣。

关于sql - PostgreSQL 存储过程(函数)的正确语法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7013811/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com