サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
ブックレビュー
rezev-hikaru.hatenadiary.org
複雑なストアドでエラーが発生した場合、どのような状態でエラーになったのかを検証することが難しいというケースはよくある。特にビジネスロジックを組み合わせた処理で問題が発生すると業務に支障を最小限とするためストアドの実行をロールバックする仕組みを採用していることが多いだろう。 ロールバックは「データを健全に保つ」意味で非常に大事だといことはよく理解されているが、実際には何らかの問題が発生してロールバック処理が実行された原因を追究しなければならない。適切にログを残していたつもりがロールバック処理でログも残っていなかったという経験があるのではないだろうか? 今回はロールバック処理でもログを残せる方法を一例にしながら ■SQL Server 2005 における #table(一時テーブル) と@table(変数テーブル) の違いを書いてみたい ◇#table(一時テーブル)の作成 CREATE TA
SQLの文字列を組み合わせて作成をし、動的に発行するプログラムをVBやC#などアプリケーションで作成したことがあると思う。 TSQLにおいてこのような文字列で動的に変化するSQLを実行するためのものとしてsp_executesql という組み込みストアドが存在する。 ◇sp_executesql の構文(SQL Server2005 Helpより引用) sp_executesql [ @stmt = ] stmt [ {, [@params=] N'@parameter_name data_type [ [ OUT [ PUT ][,...n]' } {, [ @param1 = ] 'value1' [ ,...n ] } ] 1. 単純なSELECT の例 ※M_郵便番号テーブルの郵便番号の数を取得する例 @InnerSQL にSELECT文を埋め込み、実行する DECLARE @In
このページを最初にブックマークしてみませんか?
『rezev-hikaru.hatenadiary.org』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く