[软件设计/软件工程] 使用 postgres 函数创建视图

[复制链接]
发表于 2022-5-6 13:05:02
问题
我正在尝试使用 postgres 函数构建参数化视图:
  1. CREATE FUNCTION schemaB.testFunc(p INT)
  2. RETURNS TABLE
  3. AS
  4. RETURN (SELECT * FROM schemaZ.mainTable WHERE id=p)
复制代码

问题总是一样的:

你知道我做错了什么吗?

回答
您需要指定“返回表”的列,这可以使用

返回表(col_1 整数,col_2 文本,...)

在您的示例中,仅返回一个表中的行,因此更易于使用

返回主表集

如手册所述,函数体需要用单引号括起来,或者使用美元引号。

由于存储函数可以用多种不同的语言在 Postgres 中编写,因此您还需要指定一种语言——在这种情况下,语言 sql 是合适的。

因此,要将所有这些放在一起,您需要:
  1. CREATE FUNCTION schemaB.testFunc(p_id INT)
  2.   RETURNS setof  schemaZ.mainTable
  3. AS
  4. $$
  5. SELECT *
  6. FROM schemaZ.mainTable
  7. WHERE id = p_id
  8. $$
  9. language sql;
复制代码

语言 sql 函数不需要 return 语句。





上一篇:Git bash 和 Git GUI 不适用于 Windows 10
下一篇:MySQL C++ 连接器内存泄漏

使用道具 举报

Archiver|手机版|小黑屋|吾爱开源 |网站地图

Copyright 2011 - 2012 Lnqq.NET.All Rights Reserved( ICP备案粤ICP备14042591号-1粤ICP14042591号 )

关于本站 - 版权申明 - 侵删联系 - Ln Studio! - 广告联系

本站资源来自互联网,仅供用户测试使用,相关版权归原作者所有

快速回复 返回顶部 返回列表