Java

ストアドプロシージャによって変更されたレコード数をカウントする

  • POST
はじめに SQL Serverにおいて、ストアドプロシージャで大量にデータを処理した後に、何件のレコードが登録、削除、更新されたのかを把握したいケースがあると思います。 この記事では、ストアドプロシージャの実行によって変更されたレコード数をカウントにJavaアプリケーションでログ出力する方法を紹介します。 変更レコード数を表示するには @@ROWCOUNT を利用する SQL Serverには、 @@ROWCOUNT という直前に実行したSQLで影響を与えたレコード数を返す特殊変数があります。 ※ 行数が20億を超える場合は、ROWCOUNT_BIG を使用します。 https://docs.microsoft.com/en-us/sql/t-sql/functions/rowcount-transact-sql?redirectedfrom=MSDN&view=sql-server-ver15 以下に、@@ROWCOUNTを使って削除レコード数および、登録レコード数を表示するストアドプロシージャの例を記載しました。 ALTER PROCEDURE [TEST].[procedure_count_record] ( @DELETE_ROW_COUNT INTEGER OUTPUT ,@INSERT_ROW_COUNT INTEGER OUTPUT ) AS SET @RESULT_FLAG = 'FALSE' SET @RESULT_MESSAGE = '' DELETE FROM TEST.TABLE_001; SET @DELETE_ROW_COUNT = @@ROWCOUNT; PRINT @DELETE_ROW_COUNT INSERT INTO TEST.TABLE_001 VALUES( 1, 'test') SET @INSERT_ROW_COUNT = @@ROWCOUNT; PRINT @INSERT_ROW_COUNT Javaアプリケーションからレコード数を表示 @@ROWCOUNT を使って、登録レコード数が取得できることが分かりました。 続いて、Javaプログラムからストアドプロシージャを実行し、ログ出力するサンプルプログラムを紹介します。 registerOutParameterでストアドプロシージャで定義した変数と、Java側の変数を結びつけることができます。 private static String SQL = "{ call TEST.procedure_count_record(?, ?

今更Java入門

  • POST
今更Java入門 Javaとは 名前の由来 開発元のサン・マイクロシステムズ社の近くのコーヒーショップのウェートレスがつけていたシャツのロゴ「It's a jungle out there, So drink your java!」からとったと言われている。 もともとOakという名前だったが、Oakという名称は当時すでに商標登録されていたため,正式リリースのために別名を付けた。 コンパイルの方法 javac ファイル名で実施。 $ javac sample.java 定数の定義方法 final int 変数名 用語 ネスト カッコの入れ子のこと リテラル 文字や数字の表記のための値 イミュータブル 作成後に値の変更ができないこと ラッパー あるクラスやデータ型などが提供する機能やデータを含みつつ、 別の形で提供するもののことをラッパーという。 元の機能を包み、覆い隠す役割を果たすためにこのように呼ばれる。 JAR(Java Archive) コンパイルされた複数のJavaバイトコードや、画像などのリソースを一つにまとめてZIP圧縮したファイルのこと。 クラスファイルをすべて1つのファイルにまとめる マニフェストファイル バージョンや、jarファイルの作成に使用したツールなどのJARファイルの内容が記述されている Manifest-Version: 1.0 Ant-Version: Apache Ant 1.6.5 Created-By: 1.4.2_09-b05 (Sun Microsystems Inc.) Main-Class: Sample データの型 プリミティブ型 格納サイズが決まっているもの(int, short, long, fload, double, char, boolean)