gpt4 book ai didi

sql - 我如何在 Sequel 中创建 SQL 函数?

转载 作者:数据小太阳 更新时间:2023-10-29 08:00:47 26 4
gpt4 key购买 nike

我有一个包含大量 SQL 脚本的项目,我正在将该项目迁移到 Sequel .

在旧脚本中,我定义了相当多的 SQL 函数来构建我的查询。我应该如何创建这些函数,以便我可以从 Sequel 访问它们?

例如我有一个 SQL 函数

CREATE FUNCTION my_func(...) RETURNS integer AS $$
SELECT ...
$$ LANGUAGE SQL;

我是否应该将上面的文本包含在一个字符串中并调用以下内容?

DB.run("CREATE FUNCTION my_func(...) RETURNS integer AS $$ 
SELECT ...
$$ LANGUAGE SQL;")

似乎有更好的方法。

我可以使用 Sequel 将函数本身重写为 ruby​​ 函数,但我不相信这会实现我想要的,因为我想运行使用 WHERE 中的 SQL 查询的查询> 子句等。

谢谢!

最佳答案

Sequel 实际上支持创建 PostgreSQL 函数:

DB.create_function('myfunc', 'SELECT ...', :args=>[:integer, :text], :returns=>:integer)

但是,我很遗憾添加了这个,并且可能会在下一个主要版本中将其移至扩展。将 DB.run 用于像这样的数据库特定内容是 IMO 的方式。

关于sql - 我如何在 Sequel 中创建 SQL 函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13811975/

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