sql >> データベース >  >> RDS >> Sqlserver

Statement.executeUpdate() が -1 を返すとはどういう意味ですか?

    実行されるステートメントは実際には DML ではないため (例:UPDATEINSERT または EXECUTE )、ただし 含む T-SQL の一部 DML、更新クエリとして扱われていないと思われます。

    JDBC 4.1 仕様のセクション 13.1.2.3 には、次のように記載されています (解釈がかなり難しい):

    この情報を考えると、 executeUpdate() だと思います 内部的に execute() を実行します 、そして - execute() として false を返します - getUpdateCount() の値を返します 、この場合 - JDBC 仕様に従って - -1 を返します .

    これは、1) Statement.executeUpdate() 言います:

    そして 2) Statement.getUpdateCount() 指定:

    明確にするために:executeUpdate()のJavadocを考える この動作はおそらく間違っていますが、説明できます。

    また、私が他の場所でコメントしたように、-1 は単に何かが変更された可能性があることを示している可能性があります。実行される SQL)。



    1. 別のテーブルの列名に基づいて、あるテーブルから列を選択する

    2. 垂直出力を使用してSQLiteクエリ結果を表示する

    3. データの配列を入力パラメータとしてOracleプロシージャに渡す

    4. ネストされたJSONBフィールド内のオブジェクトに対するPostgresqlクエリ