Visual Studioのほかにも

いろいろ付いてくるみたいだけど、SQL Server 2005か。なんか、いまや一番理解してるRDBMSになってしまった感があるなぁ。
まぁ、それ以外のRDBMSってMySQLくらいしかまともにやったこと無いんですが。
でも、SQL Serverは万人にすすめられるようなものじゃないよなー。せめて、他のRDBMSから入ったほうがいいような気がする。
なんというか、MSは何が何でもノンコーディングがいいと思っているらしく、何でもコーディング無しで済まそうとする。
そんなの、どこかで無理が出てくるに決まってるのに。


で、そういうツールに慣れてしまうと、いざコーディングが必要なときに手作業でやろうとするから、もう見てらんない。
例えば以下のようなCREATE TABLE文からカンマ区切りの列名を取り出すのに手作業でちまちまやる。

CREATE TABLE [dbo].[HogeTable](
    [hoge_name] [nvarchar](50) COLLATE Japanese_CI_AS NOT NULL,
    [piyo_piyo] [char](3) COLLATE Japanese_CI_AS NOT NULL,
 CONSTRAINT [PK_HogeTable] PRIMARY KEY CLUSTERED
(
    [hoge_name] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]

ま、この程度なら手作業でも文句は言わないんだけど、40近いテーブル全て、しかもフィールド数も10やら20やら30やらあるんだから、手作業なんてむしろ考えたくも無いんだけど。
この例なら、


\s+\[(.+?)\].+,

こんな正規表現


$1,

に置き換えるだけで済む。こういう「楽をする」考え方をつぶしてしまうような気がするんだよなー、SQL Serverは。