アーカイブ

‘sql’ タグのついている投稿

SQL Server Tips 楽観的、悲観的データ更新とは

2009 年 8 月 11 日

SQL Server Tips 楽観的、悲観的データ更新とは

photo by Kristi 🙂 (is back!!)

VB.NETのDataSetで使用を奨励されているデータの更新をするためのモデルとして、オプティミスティック同時実行制御があります。

続きを読む…

SQL Server, VB.NET, コンピュータ, データベース , , , , , ,

SQL Server Tips Timestamp型で更新の有無を確認

2009 年 8 月 11 日

SQL Server Tips Timestamp型で更新の有無を確認

photo by drade388

SQL ServerのTimeStamp型は、バージョンを印すテーブル行として使用され、レコードに変更があると自動的に生成されます。

更新を検知するためにある、データ型なのでこれを使用してみます。

取得済みのTimeStampの値と、データベースのTimeStampの値を比較して、値が違えばデータを取得した後、データ行になんらかの変更があったということになります。

続きを読む…

SQL Server, VB.NET, コンピュータ, データベース , , , , ,

SQL Server Tips データ型 Timestampとは

2009 年 8 月 11 日

SQL Server Tips データ型 Timestampとは

photo by dogwelder

SQL Server のデータ型でTimeStamp型があります。

MySQL5.0でのTIMESTAMP型は日付が格納され、DATETIME カラムと同じフォーマット。
フォーマットは YYYY-MM-DD HH:MM:SS となっていますが、SQL準拠により近い実装となっています。

SQL ServerのTimeStampの場合、全く違った実装となっています。

続きを読む…

SQL Server, VB.NET, コンピュータ, データベース , , , , , , ,

VB.NET Tips DataSetに追加したDataTableを解放

2009 年 4 月 23 日

DataSetに追加したDataTableを解放

photo by Maria Kristin Steinsson

VB.NETでDataSetにDataTableを追加して、コントロールのDataSourceに登録して表示。

この処理を行った後、内容をすべてリロードするときにDataSetに登録したDataTableにそのままリロードをかけ、上書きすると処理速度がぐっと落ちます。

この際、DataSet.Tables プロパティを使用して、DataSet内に該当テーブルが存在するか確認し、DataSet内の該当DataTableをクリアーしてから再登録すると速度も落ちずスムーズに登録できます。

MSDN .NET Framework クラス ライブラリ DataSet.Tables プロパティ

続きを読む…

SQL Server, VB.NET, WordPress, コンピュータ, データベース, ハードウェア, 動画 , , , , , , ,

SQL Server Compact 3.5のSqlCeDataReaderをリードすると異常に遅い…

2009 年 4 月 23 日

SqlCeDataReaderをリードすると異常に遅い

photo by Bеn

SQL Server Compact 3.5のSqlCeDataReaderを使用して、”While”ステートメントでループ処理を行い、データをリード。

SQL Server 2008 ExpressではSqlDataReaderを使用して、同様の処理を行えますが処理時間が異常に違います。

なにか、設定が必要なのか?といっても、SqlCeDataReaderにはSeekぐらいしか見あたらないし……

続きを読む…

SQL Server, データベース , , , , , ,

SQL Server Compact 3.5ではSQL文は1文づつしか発行できません。

2009 年 4 月 23 日

SQL文は1文づつしか発行できません。

photo by tolis*

SQL Server 2008 Expressなどでは、SQL文をまとめて発行できます。

例えば下記のような文です。

コマンドラインで操作するときのように”;”でSQL文を締めて発行すれば受け付けてもらえます。

DELETE  from hoge WHERE hoge_id = 1;
DELETE  from hoge WHERE hoge_id = 2;
DELETE  from hoge WHERE hoge_id = 3;

しかし、SQL Server Compact 3.5ではこれは受け付けてもらえませんん。

仕様のようです、あきらめて一文づつ発行するしかないようです。

SQL Server, データベース , , , ,

SQL Server 2008でdatetime型の項目からWhere句で該当日付の範囲データ抽出

2009 年 4 月 22 日

datetime型の項目からWhere句で該当日付のみ抽出

photo by Steve-h

SQL Server 2008から、Date型、Time型が追加となりましたね。

SQL Server 2005までは、Datetime型しかなく「日付のみ保持したいのに…」とか、「時刻のみ保持したい…」という場合も、datetime型で代用していました。
ですが、日時をまとめて保持したい場合は、datetime型を利用します。

たとえば、 ‘2009/01/01’の値が入っている該当項目を抽出したいとき、下記のように問い合わせても抽出できません。
比較対象が、datetime型なので日付ではないからです。

続きを読む…

SQL Server, データベース , , , , , , ,

SQL Server Compact 3.5 でIDENTITY値を再設定するには?

2009 年 4 月 22 日

SQL Server Compact 3.5 でIDENTITY値を再設定

photo by TommyOshima

SQL Server 2008 Expressなどの、Transact-SQLでは、SQL Server のデータベース コンソール コマンドとして機能するDBCCステートメントが用意されていて、この機能を使用すれば、IDENTITY値の再設定が可能でした。

しかし、SQL Server Compact 3.5 ではDBCCはサポートされていません。

テーブルを一旦、空にして、IDENTITY値を初期値に戻したい時などに必要でした。

続きを読む…

SQL Server, データベース , , , , , ,

SQL Server Compact 3.5 でTRUNCATE TABLEは使えないようです。

2009 年 4 月 22 日

SQL Server Compact 3.5 でTRUNCATE TABLEは使えない

photo by -Angela

SQL Server 2008 Expressなどの、Transact-SQLでサポートされている、TRUNCATE TABLE ステートメントがあります。

TRUNCATE TABLEを使用すると、指定したテーブル内のすべての行を削除してくれる便利な文です。

DELETE ステートメント に、WHERE句をつけなければ、TRUNCATE TABLEを発行するのと同等にテーブル内のすべての行を削除することは可能なのですが、TRUNCATE TABLEはテーブル内削除のためだけの関数なため、利点がいくつかあります。

続きを読む…

SQL Server, データベース , , , , , , , ,

SQL Server Compact 3.5 と SQL Server 2008 TOP句の記述の許容の違い

2009 年 4 月 21 日

TOP句の記述の許容の違い

photo by artzy.viva

SQL Server Compact 3.5で、TOP句を記述してエラーとなりました。

SQL Server Compact 3.5はイマイチ、返されるエラーが大雑把で原因が分かりにくいですね。

エラーとなったTOP句を含んだ文

select TOP 1 hoge_id from hoge ORDER BY hoge_id DESC

続きを読む…

SQL Server, データベース , , , , , ,