問題タブ [rails-5.1.6]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
0 に答える
460 参照

activerecord - '0' 付近の不適切な構文: EXEC sp_executesql N'SELECT [users].* FROM [users] OFFSET 0 ROWS FETCH NEXT @0 ROWS ONLY', N'@0 int', @0 = 1

私はactiverecord-sqlserver-adapter 5.1.6、tiny_tds 2.1.2でレール5.1.6を使用しています。および SQL Server 2017.

データベースへのアクセスは問題ありません。

SQL (1.1ms) USE [MIST_Test]

ユーザー負荷 (1.5ms) EXEC sp_executesql N'SELECT [ユーザー].* FROM [ユーザー] OFFSET 0 ROWS FETCH NEXT @0 ROWS ONLY', N'@0 int', @0 = 1 [["LIMIT", nil] ]

ActiveRecord::StatementInvalid: TinyTds::Error: '0' 付近の構文が正しくありません。: EXEC sp_executesql N'SELECT [users].* FROM [users] OFFSET 0 ROWS FETCH NEXT @0 ROWS ONLY', N'@0 int', @0 = 1

C:/Ruby25-x64/lib/ruby/gems/2.5.0/gems/activerecord-sqlserver-adapter-5.1.6/lib/active_record/connection_adapters/sqlserver/database_statements.rb:368:から「それぞれ」

TinyTds::Error: '0' 付近の構文が正しくありません。

C:/Ruby25-x64/lib/ruby/gems/2.5.0/gems/activerecord-sqlserver-adapter-5.1.6/lib/active_record/connection_adapters/sqlserver/database_statements.rb:368:から「それぞれ」

SQL Server では、'OFFSET' 句を使用するために 'ORDER BY' が必要です。

誰か助けてくれませんか?

0 投票する
2 に答える
95 参照

mysql - 結合とグループ化を使用してレールで最後に入力されたレコードフィールドを取得する方法は?

ruby 2.4 で Rails 5.1 を使用していますが、Rails のアクティブ レコード クエリでスタックしています。これは既に SQL で作成していますが、Rails の方法で複製することはできません。正しい構文を提案してください。事前に感謝します。Sql クエリは次のとおりです。

Railsで作成された対応するクエリは次のとおりです。

次のエラーが発生しています:

出力は次のようになります。

それ以外の: