惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Blog — PlanetScale
Blog — PlanetScale
N
Netflix TechBlog - Medium
博客园 - 司徒正美
The GitHub Blog
The GitHub Blog
G
Google Developers Blog
Stack Overflow Blog
Stack Overflow Blog
博客园_首页
Google DeepMind News
Google DeepMind News
博客园 - 【当耐特】
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
Recent Announcements
Recent Announcements
aimingoo的专栏
aimingoo的专栏
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Y
Y Combinator Blog
B
Blog RSS Feed
人人都是产品经理
人人都是产品经理
MongoDB | Blog
MongoDB | Blog
量子位
博客园 - Franky
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
The Cloudflare Blog
有赞技术团队
有赞技术团队
Jina AI
Jina AI
GbyAI
GbyAI

博客园 - kevinhgy

什么是REST架构 Ruby on Rails 性能优化的 10 大建议 向Google、Yahoo!、MSN、Ask和百度提交网站地图Sitemap总结 寻找Ruby on Rails项目兼职开发人员 rails 收藏 RoR中的一些基础知识[转载收藏] - kevinhgy - 博客园 Ruby: ActiveRecord Realation(转载收藏) Ruby: Active Controller(转载收藏) Perl Oicq 代码 [目录索引]──chenpeng兄发布 Msn Messager用户签名指令参考 MSN Protocol Version 11 简单介绍一下这个机器人(转载) - kevinhgy - 博客园 .NET(C#)连接各类数据库-集锦 (转载) - kevinhgy - 博客园 MMS 协议概述 编写自己的MSN机器人[转载] 惠普最新招聘 招募赴日IT/SAP SE/SSE/TL/PM,欢迎大家咨询. [外资银行]诚聘人才 Linux date 用法
Ruby on Rails中执行存储过程和指定SQL语句的方法
kevinhgy · 2010-03-18 · via 博客园 - kevinhgy

在使用RailsActiveRecord对数据库进行更新操作时,如果使用update(id,:field =>value) 方法更新数据,则此时rails并不是执行以下过程:

 1. Update table set field = value where id = id  而是实际执行了 2. Update table set field = value , field2 = value2 … where id = id 这意味着当数据库中这张表拥有50个字段的时候,Rails就分别更新了50个字段,只是将程序指定的field替换成了指定的value,其它没有指定的field一般不是我们所期望的执行更新的。 解决这个问题的方法是使用ActiveRecord::Baseconnection.execute方法,这个方法可以直接写更新数据库的sql语句,当然也可以执行SQL Server存储过程。使用以下语句就可以执行1中的数据库操作: Connection.execute(“update table set field = value where id = id”)