Supabase动态RPC函数

2023-12-12

我希望创建一个 RPC 来获取列的不同值,但我将在多个表中执行此操作,并且我不想为每个列和每个表一遍又一遍地编写此函数。我有以下 SQL 语句可以满足我的需要:

SELECT owner
FROM customers 
GROUP BY owner 
ORDER BY owner Asc;

我想制作业主和客户参数。我了解如何在 RPC 中添加“参数”,但我不确定如何将它们用作上述问题的列/表。

enter image description here

有谁知道如何在supabase函数中处理这个问题?

奖金问题:

我将如何去做这个加入?我根据接受的答案有以下内容,但失败了'column "customers.owner_id" does not exist'我已经对这个函数进行了硬编码,它按预期工作,只是不使用下面的参数化版本:

CREATE OR REPLACE FUNCTION fetch_autocomplete_options(
  table_name text,
  join_table_name text,
  join_column_name text,
  table_column_name text,
  join_table_column_name text
)
RETURNS TABLE ( value text) AS 
$BODY$
  BEGIN
      RETURN QUERY EXECUTE format(
        'SELECT DISTINCT %I::text FROM %I INNER JOIN %I ON %I=%I ORDER BY %I ASC;',
        join_column_name, table_name, join_table_name, table_column_name, join_table_column_name, join_column_name
      );
  END;
$BODY$
LANGUAGE plpgsql;

弄清楚了!!!这是为了以防万一有人遇到这个奖金问题:

CREATE OR REPLACE FUNCTION fetch_autocomplete_options(
  table_name text,
  join_table_name text,
  join_column_name text,
  table_column_name text,
  join_table_column_name text
)
RETURNS TABLE ( value text) AS 
$BODY$
  BEGIN
      RETURN QUERY EXECUTE format(
        'SELECT DISTINCT j.%I::text FROM %I as t INNER JOIN %I as j ON t.%I::text = j.%I::text ORDER BY j.%I::text ASC;',
        join_column_name, table_name, join_table_name, table_column_name, join_table_column_name, join_column_name
      );
  END;
$BODY$
LANGUAGE plpgsql;

您可以使用 postgres 创建动态 RPCS,但如果列的类型是可变的,那么您可能需要将它们转换为文本(::text):

CREATE OR REPLACE FUNCTION get_distict(tname text, cname text)
RETURNS TABLE ( distinct_values text) AS 
$BODY$
  BEGIN
      RETURN QUERY EXECUTE format(
        'SELECT %I::text FROM %I GROUP BY %I ORDER BY %I ASC;',
                                       cname,   tname,    cname, came
      );
  END;
$BODY$
LANGUAGE plpgsql;

然后,您可以像这样调用这个动态函数:

select get_distict('customers','owner');
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Supabase动态RPC函数 的相关文章

  • 如何创建没有循环关系的树形表?

    CREATE TABLE TREE node1 id UUID REFERENCES nodes object id NOT NULL node2 id UUID REFERENCES nodes object id NOT NULL CO
  • mysql 不带空字符串和 NULL 的不同值

    如何检索没有空字符串值和NULL值的mysql不同值 SELECT DISTINCT CON EMAILADDRESS AS E MAIL FROM STUDENT INNER JOIN CONTACT CON ON STUDENT CON
  • MySQL NOT IN 来自同一个表中的另一列

    我想运行 mysql 查询来选择表中的所有行films其中的值title该列不存在于另一列的所有值中的任何位置 collection 这是我的表格的简化版本 其中包含内容 mysql gt select from films id titl
  • 如何对 SQL 进行多次查询

    我正在尝试创建一个表 并在 PHP 脚本的帮助下在数据库中插入一些值 虽然只插入 1 行 但效果很好 当我尝试输入更多行数时 出现错误 我需要为每个查询编写完整的插入语句 因为我正在使用在线 Excel 到 SQL 查询转换器
  • 如何将今天的日期返回到 Oracle 中的变量

    我想做这个 DECLARE today as smalldatetime SELECT today GetDate 但我需要一个oracle翻译 甲骨文使用SYSDATE 还有 ANSI 标准CURRENT TIMESTAMP 除其他外 S
  • 如何使用 MySQL 选择有特定值的 2 个连续行?

    我正在构建一个系统 该系统应该显示学生何时连续缺席两天 例如 此表包含缺勤情况 day id missed 2016 10 6 1 true 2016 10 6 2 true 2016 10 6 3 false 2016 10 7 1 tr
  • hive - 在值范围之间将一行拆分为多行

    我在下面有一张表 想按从开始列到结束列的范围拆分行 即 id 和 value 应该对开始和结束之间的每个值重复 包括两者 id value start end 1 5 1 4 2 8 5 9 所需输出 id value current
  • 在 Yii 的标准中如何获得计数 (*)

    我正在尝试构建一个具有以下内容的查询group by属性 我正在尝试得到id和count它一直告诉我count is invalid列名 我怎样才能得到count来自group by询问 工作有别名 伊伊 1 1 11 其他不及格 crit
  • 基本的多对多sql选择查询

    我认为这应该很容易 但它却在逃避我 我的帐户和帐户组之间存在多对多关系 一个帐户可以位于零个或多个组中 因此我使用标准连接表 Accounts ID BankName AcctNumber Balance AccountGroups ID
  • 如何使用 SQL 查询创建逗号分隔的列表?

    我有 3 个表 名为 应用程序 ID 名称 资源 id 名称 应用程序资源 id app id resource id 我想在 GUI 上显示所有资源名称的表格 在每一行的一个单元格中 我想列出该资源的所有应用程序 以逗号分隔 所以问题是
  • 如何在 MySQL 中构建跨数据库查询?

    我在同一台服务器上有两个数据库 谷歌给了我一些提示 但我找不到任何 官方 的东西 有人可以向我指出解释如何执行此操作的文档吗 使用 PHP 进行解释也很有用 谢谢 我在同一台服务器上有两个数据库 如何在 MySQL 中构建跨数据库查询 您可
  • 就SQL注入而言,哪种sql查询更安全

    我有两个 SQL 查询正在尝试更新sup and opp每次调用查询时 值分别为 1 和 1 第一个查询 query update disc set sup sup opp opp where did did int sup getnoof
  • 仅选择 Varchar 列中的数字[重复]

    这个问题在这里已经有答案了 在 SQL Server 2008 R2 中 我在 varchar 12 列中有一些数据 它看起来像这样 Data 1234 1765 34566 123 SDRMH HJG434 我想从所有包含 的行中删除 并
  • 复杂的sql树行

    表结构 id message reply id 1 help me 0 434 love to 1 852 didn t work 434 0110 try this 852 2200 this wont 0 5465 done 0110
  • 限制分页页数

    objConnect mysql connect localhost root or die mysql error objDB mysql select db Test strSQL SELECT FROM UserAddedRecord
  • 如何检查一个值是否已经存在以避免重复?

    我有一个 URL 表 但我不想要任何重复的 URL 如何使用 PHP MySQL 检查给定 URL 是否已在表中 如果您不想重复 可以执行以下操作 添加唯一性约束 use REPLACE http dev mysql com doc ref
  • 查询嵌套查询结果中两列的位置

    我正在编写这样的查询 select from myTable where X in select X from Y and XX in select X from Y X 列和 XX 列的值必须位于同一查询的结果中 select X fro
  • 合并并添加两个表中的值

    是否可以制作一个在两个表中添加值的查询 例如 假设您有两张表 id value a 1 c 2 d 3 f 4 g 5 and id value a 1 b 2 c 3 d 4 e 5 然后 当您 添加 两个表时 您将获得 id 匹配的结果
  • SQL Server 2008 R2 内连接无法匹配 varchar 字段,因为它包含特殊字符

    我们正在将 Microsoft SQL Server 2008 R2 用于我们的经典 ASP 应用程序之一 我们有两张表 TableA TableB TableA有以下列 InstName varchar 1024 TableB有这些列 I
  • 作为 UDF 结果的列上的 Where 子句

    我有一个用户定义的函数 例如myUDF a b 返回一个整数 我试图确保该函数仅被调用一次 并且其结果可以用作WHERE clause SELECT col1 col2 col3 myUDF col1 col2 AS X From myTa

随机推荐

  • 尝试在某些设备上播放 mp3 ActivityNotFoundException

    我从尝试播放 mp3 文件的 Galaxy Ace 设备收到崩溃报告 来自服务器的音频始终为 mp3 这是我的代码 Intent intentaudio new Intent intentaudio setAction Intent ACT
  • 绑定到 DataGridView.Datasource 时加载 DataTable 缓慢

    我搜遍了所有地方 但我无法弄清楚这一点 我正在开发一个 Winforms UI 该 UI 正在提取需要在 DataGridView 中显示的大量行 我已经阅读了有关限制行数和分页的所有内容 但我绝对没有好的方法可以做到这一点 基本上 我正在
  • 斯坦福大学对 Python NLTK 的通用依赖关系

    有什么方法可以使用 python 或 nltk 获取通用依赖项吗 我只能生成解析树 Example 输入句子 My dog also likes eating sausage Output Universal dependencies nm
  • 如何在ios7中使用ALAssetLibrary获取所有照片?

    我无法像苹果 iPhone 在 ios8 中那样即时获取照片 我已经使用 PHAsset 和 Photos framework 实现了 ios8 现在 当我在 ios7 设备中运行相同的代码时 它不会返回任何内容 所以 我使用 ALAsse
  • 无法连接 EA 中活动图中的活动

    您好 我目前遇到 EA 中活动图的问题 我正在尝试描述一个代码 当我添加启动控制节点和活动节点时 我无法通过控制流连接它们 当我尝试将两个活动与控制流连接在一起时 会发生同样的问题 我收到以下错误 请求的连接不符合 UML 有人可以就此提供
  • 如何使用 ExoPlayer IMA 扩展在特定点展示广告?

    我在用ExoPlayer 2 7 3带有 IMA 扩展名 我必须以一定的时间间隔展示广告 我已经成功地整合了AdsLoader and AdsMediaSource 我正在接收并展示广告 但广告只出现在电影的开头 如何让广告在我想要的时间点
  • 使用 openxml 创建 powerpoint 的示例

    在哪里可以找到使用 OpenXML 在 ppt 文件中插入文本和图像的 Hello World 我无法生成简单的模板 在开发 PowerPoint 模板之前 请阅读此内容中的presentationML 结构PDF 请参阅以下链接以使用 O
  • 如何在 Tkinter 中将点击事件绑定到 Canvas? [关闭]

    Closed 这个问题需要多问focused 目前不接受答案 我只是想知道是否有任何可能的方法使用 Tkinter 将单击事件绑定到画布 我希望能够单击画布上的任意位置并将对象移动到其中 我能够做出动作 但我还没有找到将点击绑定到画布的方法
  • 在数据框中使用向量的打印方法

    考虑以下向量x x lt c 6e 06 75000400 743450000 340000 4300000 我想打印x以百万计 所以我编写了一个 print 方法并将一个类分配给x print million lt function x
  • Play 框架 2 (Java) 表单数据绑定与嵌套允许字段

    考虑以下模型 public class Contact Required public String name Valid public List
  • 将 POST curl 从命令行转换为 php 时遇到问题

    我在将curl 命令转换为php 时遇到问题 这部分效果很好 CURL 命令将条目添加到我的 Parse com 数据库中 curl X POST H X Parse Application Id my id H X Parse REST
  • iOS AUSampler audiounit - EXS 音频文件的文件路径问题?

    遵循苹果文档here我已经能够通过重新创建成功将 GarageBand EXS 采样器乐器加载到我的 iOS 应用程序中的 AUSampler 中 例如我的应用程序目录中的以下路径 Sampler Files Funk Horn Secti
  • 如何使用 MVVM 在 RibbonComboBox 上设置 SelectedItem?

    我该如何设置SelectedItem on a RibbonComboBox using MVVM图案 View
  • Playframework [1.2.7] 依赖项失败

    我们遇到了游戏框架依赖管理的问题 几天前该问题运行良好 我们尚未对依赖文件进行任何配置更改或更改 但在我们的构建服务器和本地 均位于不同的网络和 ISP 上 上均出现以下错误 problems summary WARNINGS module
  • Django 从 ImageField 下载图像

    我正在使用 Django 1 7 和 Python 3 4 我有一个这样的模型 class ImageModel models Model image models ImageField verbose name image upload
  • 两个数据库之间的Mysql数据库同步

    我们正在各个商店运行带有 MySql 后端的 Java PoS 销售点 应用程序 我想让商店中的数据库与主机服务器上的数据库保持同步 当商店发生一些变化时 它们应该在主机服务器上更新 我该如何实现这一目标 创建复制并不难 这里有一些很好的教
  • 在C中查询最大套接字发送缓冲区大小?

    我知道我可以 cat proc sys net core wmem max 来获取套接字上 SO SNDBUF 的最大大小 但是有没有一种简单的方法可以在 C 中查询该值 而无需执行打开文件的笨拙步骤 读取并转换为整数 要获取 net ip
  • 如何在 R 中查看所有 xml_nodeset 类对象(rvest::html_nodes 的输出)?

    如果我们创建一个类的对象xml nodes using rvest s html nodes 我们如何在 R 控制台中查看所有输出 Example library rvest library dplyr Generate some samp
  • PHP MySQL 多条件搜索

    我在网站中有一个搜索表单 希望有几个由用户输入的搜索词来执行数据库搜索 词如下 Keywords 物业出售 出售 出租 房产类型 公寓 排屋 State 最低价格 最高价格 这是使用上述术语的输入执行搜索的脚本 public functio
  • Supabase动态RPC函数

    我希望创建一个 RPC 来获取列的不同值 但我将在多个表中执行此操作 并且我不想为每个列和每个表一遍又一遍地编写此函数 我有以下 SQL 语句可以满足我的需要 SELECT owner FROM customers GROUP BY own