2007年11月10日土曜日

家庭用ではないスイッチングハブ


電源を入れるとファンがうるさい。
さてどう使おうか?
背面にRS232ポートがあるようだけどいろんな事が出来るのかな?
スパニングツリーとか、ミラー(モニタ)ポート化とか。。

2007年11月9日金曜日

SQL Serverって主キーをupdate出来るんですね。

SQL Server2005Expressで確認しました。
で、Inside SQL Server2005ストレージ編には、updateがdeleteとinsertに分解され、主キーの順でソートされるそう。
でもそれだと以下の③はうまくいかない気がする。
deleteを先にやろうとすると外部キー制約に引っ掛かるはずなのに引っかからない。なんか特別な処理をしているのかな?
USE [pubs]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[tbl](
[pk1] [int] NOT NULL,
[ux1] [int] NOT NULL,
CONSTRAINT [PK_tbl] PRIMARY KEY CLUSTERED
(
[pk1] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY],
CONSTRAINT [IX_tbl] UNIQUE NONCLUSTERED
(
[ux1] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[tbl2](
[num] [int] NOT NULL,
[rel1] [int] NULL,
CONSTRAINT [PK_tbl2] PRIMARY KEY CLUSTERED
(
[num] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
ALTER TABLE [dbo].[tbl2] WITH CHECK ADD CONSTRAINT [FK_tbl2_tbl] FOREIGN KEY([rel1])
REFERENCES [dbo].[tbl] ([pk1])
GO
ALTER TABLE [dbo].[tbl2] CHECK CONSTRAINT [FK_tbl2_tbl]
GO

insert tbl(pk1,ux1) values(1,10);
insert tbl(pk1,ux1) values(2,20);
insert tbl2(num,rel1) values(100,2);

select * from tbl2
--以下は一意性エラー
update tbl set pk1=2 where pk1=1;

--以下は正常
begin tran;
update tbl set pk1=3-pk1
select * from tbl
rollback;

--以下は一意性エラー
update tbl set ux1=20 where ux1=10;

--以下はok
begin tran;
update tbl set ux1=30-ux1;
select * from tbl
rollback;

--③以下もok
begin tran;
update tbl set pk1=3-pk1, ux1=30-ux1;
select * from tbl
rollback;


それはそうと、主キーが変えられるとなると昔作ったトリガの設計が破綻することになるのか。はぁ。
昔作ったトリガは効率化のために、insertedとdeletedのテーブルを主キーで連結し前後の変化列を調べて変化に見合う処理を行っていたのだけれど、主キーが変えられると変化を追跡できない。
効率を無視して、deletedテーブルでdeleteに見合う処理を行って、insertedテーブルでinsertに見合うを行うというようにdeleteとinsertの処理を別々に処理しなければならなかったのかな。(こちらの方が条件式のバリエーションが減るし。)

2007年11月8日木曜日

マックで昼ごはん

会議が長引きいつもの280円弁当を買えなかったので、優待券でビッグマックセットポテトLコーラLを注文。持ち帰ると、また食べてるの?と言われてしまった。そんなに食ってるかな?

2007年11月7日水曜日

連日の飲み会ですか?

今日も21:00頃飲み会のお誘いが。ただ下戸なので平日のお酒はもってのほかです。飲み会にあまり誘わないでください。

もう11月ですね。

今日の帰り結構寒かったです。もうそろそろコートを準備しなきゃいけないかも。

2007年11月6日火曜日

今日もKさん登場

19:00すぎ6階にカバンを持って訪れました。Tさんに用事があったようですが、Tさんはあいにく喫煙場所に。そのことを伝えたら喫煙場所に向かったようですが、入れ違いにTさんが戻ってきた。どうやら入れ違いになった模様。それから21:00まで仕事をしていましたがKさんは訪れず、大した用事ではなかったのかな?

2007年11月5日月曜日

ブログ検索よけ

ブログ検索よけのために、玄箱というキーワードと、日記というキーワードが連続して現れる箇所を削除しました。コメントを削除するのは本位ではないのだけれど、見つかるのはいやなのでごめんなさい。とりあえず、googleの次のクロールが走るまでの辛抱かな。

玄箱は難航中

玄箱のFedora7はパッケージシステムに問題があり新バージョンのリリース待ち、NetBSDは近々4.0が出る見込みなのでこちらも待ち。いま出来るものと言えばdebianのsarge→etch化だけどちょっと大変そう。
USBのhubを指すとbandwidthが足りないエラーがでるのは、玄箱のUSB周りのH/Wの限界っぽい模様ということで挫折しています。はやくnetbsd4.0が出ないかな~。

ADO.NET2.0 3章まで読了

2章はデモだったが、3章はやっとプログラミングに。[SqlConnection]クラスの説明でまだSQLには届いていないが、まずはまとめ。
SqlConnectionクラスには、
メンバとしては接続文字列(タイムアウトなどセッション設定も含む)や接続文字列を分解したほぼ読み取り専用の各種プロパティがある。
メソッドとしては接続に関係する部分:Open,Close以外にトランザクション開始やdb変更や接続プールクリアや分散トランザクション/通常トランザクションの登録や接続の統計の取得&リセットと接続スキーマの取得と接続に設置するコマンド(CreateCommand)がある。
イベントとしては、SQL側でPRINTコマンド等で出力された文字列を取得するためのInfoMessageイベントと、接続状態が変更された時に通知されるStateChangeイベントの2つがあるとのこと。

2007年11月4日日曜日

水タンク返却


土曜日の夜8:00頃、香嵐渓の方で小学校の事務をしているN先輩より水タンクの返却がありました。
ちなみに、水タンクというのはこのことです。

起きたのは夕方

今日も昼寝で、16:00頃まで寝てしまった。
最近日曜日になる度に生活リズムがくるってしまう。
1.土曜日に寝るのが30:00
2.起きるのが日曜の9:00
3.横になって気を失うのが13:00
いったいどれが悪いのだろう。。。
今日は、SQL Server2005 Enterprize 180日間評価版を、Windows2008RC0+VisualStudio2008Beta導入済のSempronPCに導入しました。
なんか、VisualStuido2008BetaはSQL Server2008 CTPに対応していないみたいだし。

ただね、ダウンロードサイズが約1Gで5時間ぐらいかけてダウンロードしました。会社に行けばMCP70-443の問題集本があって、そのふろくDVDについていので、会社までの往復で1時間30分ぐらいで持ってこれたんですね。