sql - 在 Rails 中使用序列创建或更新

标签 sql ruby-on-rails postgresql

我在迁移中创建了一个序列,我想在创建和更新中使用它。我想我可以创建一个保存前过滤器来设置序列,但我不确定如何“注入(inject)”所需的 SQL(在本例中为 nextval('sequence')) .我的查询需要看起来像这样:

UPDATE users
SET 
sequence=nextval('users_sequence'),
name='Kevin',
...
WHERE id=...

请注意,很遗憾,我无法创建触发器来执行此操作,因为我正在 Heroku 的共享数据库上部署并且无权访问 PLPGSQL。

最佳答案

在你的 before_filter 中写下如下内容:

User.connection.select_value("SELECT nextval('users_sequence')")

希望这对您有所帮助。

关于sql - 在 Rails 中使用序列创建或更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6173041/

相关文章:

mysql - 对不同表中的多列进行计数和求和

SQL Server 2008 : How do you SUM based on two conditions?

java - derby db 的错误代码列表在哪里?

java - Postgresql LIKE for Integer

python - PostgreSQL SELECT 列名以编程方式在 python 中

sql - 欧洲网站的最佳字符集和排序规则

ruby-on-rails - 在共享示例调用中的 let 中使用循环变量

javascript - Rails 完成请求后动态推送内容

ruby-on-rails - Capybara(驱动程序 capybara-webkit)偶尔会失败,成功率超过 50%

postgresql - Spark + HAWQ 集成(HDP 2.4.2)