gpt4 book ai didi

sql - 在 Ruby 中使用 SQL 文件

转载 作者:搜寻专家 更新时间:2023-10-30 20:27:15 24 4
gpt4 key购买 nike

我是 Yesql 的粉丝- 由带有参数占位符的原始 SQL 组成的样式模板。

这是文档中的示例:

SELECT *
FROM users
WHERE country_code = ?

这个片段存储在一个文件中,并像这样拉入应用程序:

(defquery users-by-country "some/where/users_by_country.sql")
(users-by-country db-spec "GB")

Ruby 中是否有具有相同功能的 gem?或者有没有办法至少从文件加载原始 SQL 并执行它,将结果存储在数组或 json 中?

最佳答案

当然可以,而且这个(一个单独的 SQL 文件)对于较长的查询来说是一种很好的技术。任何数据库适配器 gem 都可以做到这一点。在我最熟悉的pg中,

  1. 从 SQL 文件中读取您的查询,例如File.read
  2. 打开一个连接,例如PG::Connection.open
  3. 调用exec_params

pg 文档中的示例:

require 'pg'
conn = PG::Connection.open(:dbname => 'test')
res = conn.exec_params('SELECT $1 AS a, $2 AS b, $3 AS c', [1, 2, nil])
# Equivalent to:
# res = conn.exec('SELECT 1 AS a, 2 AS b, NULL AS c')

http://deveiate.org/code/pg/PG/Connection.html

如您所见,这里的占位符是按顺序编号的,我认为这是对简单问号的改进。

关于sql - 在 Ruby 中使用 SQL 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26395976/

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