我正在尝试在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构造特别感兴趣.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。