問題タブ [groovy-sql]
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.
mysql - GroovyStrings が Strings と同じように扱われていないことをどのように知ることができますか?
MySQL データベースを変更しようとしているときに、Groovy で紛らわしい問題に遭遇しました。myGroovyString
が明示的にjava.lang.String
:
スロー:
以下は問題なく動作しますが:
これは驚くべきことです。私はこの問題を予期すべきでしたか? もしそうなら、どのような状況GroovyString
やString
インスタンスが異なる扱いを受ける可能性がありますか?
groovy - 文字列変数としてSQLステートメントを使用するGroovySql.execute()が機能しない
ステートメントを文字列リテラルではなく文字列変数として渡すことにより、GroovyでSQLステートメントを実行しようとしています。文字列変数を使用している理由は、ファイルからsqlステートメントを読み取っているからです。
たとえば(sqlがgroovy.sql.Sqlの有効なインスタンスであると仮定します-これは私が確認しました):
正常に動作します。
ただし、以下はそうではありません。
最後の例は、実行するとハングします。SQLエラーはなく、停止するだけです。実行後にprintlnを配置しようとしましたが、printlnステートメントに到達しません。
そこで、次のバリエーションを試しました。
と
そしてさえ
好奇心のためですが、すべて次のエラーが発生します。
私は確かにgroovyを初めて使用しますが、文字列リテラルが機能する理由を理解できませんが、変数は機能しません。ここでの助けをいただければ幸いです。さらに情報が必要な場合はお知らせください。
また、ファイルから個々のSQLステートメントを取得する理由は、groovyを使用して.sqlファイル全体を実行する方法が見つからなかったためです。私が見つけていないことをする簡単な方法があれば、それも私の問題を解決するでしょう。前もって感謝します。
groovy - Groovy 、インライン変数、つまりファイルから ${variable} ステートメントを渡す方法は?
Groovy には興味深い問題があります。誰かが私を助けてくれることを願っています。
基本的にGroovy Sqlを使用しています。異なるデータベースで複数のテーブルを選択する必要があります。私の 2 番目のクエリは、他のクエリに依存しています"select * from table1-in-db1 where key = ${result-of-other-query1}
。関数内でこれをハードコーディングすると、Groovy は正常に動作します。ただし、私の問題は、SQLがxmlファイルで定義されており、関数に文字列として渡された後、取得したことです。スコープ内で呼び出された変数があっても、インライン変数を相互運用することはもうありませんresult-of-other-query1
。
sudo コードの一部を次に示します。
インライン変数が文字列として渡された場合でも、Groovy にインライン変数を置き換えるように指示する方法はありますか?
事前にご協力いただきありがとうございます
sql - パラメーター化されたテキスト検索を使用して SQL ステートメントを準備する正しい方法
突然、これは期待どおりにグルーヴィーで機能することに気付きました。
これはうまくいきません
あなたが得ることができるのは
実行に失敗しました: SELECT FROM ITEMS WHERE name LIKE '%?%' 理由: 列インデックスが範囲外です: 1、列数: 0。
私の質問は次のとおりです。
- このように意図的に実装されていますか?パラメーター化されたテキスト検索を必要としたことは一度もないので、この動作が一般的かどうかはわかりません。
- それにもかかわらず、テキスト検索を含むステートメントを安全にパラメータ化するにはどうすればよいですか?
groovy - DataSet のフィルタリング中に「AST が利用できません」という例外が発生する
次のグルーヴィーなプログラムがあります-
print ステートメントで例外が発生します。
例外はあまり役に立ちません。どういう意味ですか?
groovy - Groovy での保存または更新
通常、Java では SELECT ステートメントを実行し、ResultSet のサイズを確認します。ゼロの場合は INSERT を発行し、それ以外の場合は UPDATE を発行します。
Groovy は JDBC の上にシンタックス シュガーを提供するため、このプロセスを容易にする方法を提供するかどうか疑問に思っています。レコードを保存または更新する簡単な方法はありますか?
注: Hibernate がこれを提供していることは知っていますが、Groovy API だけに固執したいと思います。
sql - 「ORA-00911: 無効な文字」SQL ステートメントの文字列の途中にセミコロンがある場合
「;」を含むSQLステートメントで(1java.sql.SQLSyntaxErrorException: ORA-00911: invalid character
)呼び出しを行うときに遭遇した人はいますか (セミコロン) 文字が途中にあります。ここで提案されているように、末尾のセミコロンがORA-00911を引き起こすことを認識しているので、すでにそれらを取り除いています)sql.execute('...')
以下は、そのような SQL ステートメントの 1 つの例です。
特徴があることに注意し [Ljava.lang.String;
てください;
。セミコロンをエスケープする方法や、何らかの方法で回避する方法はありますか?
コードスニペット: