アフィリエイト広告を利用しています

広告

posted by fanblog

2014年07月15日

FbConsole が間違ったSQLを提示する

Firebird データベース管理コンソールとして、昔からある FbConsole.exe を使い続けている
これは使いやすく重宝しているのだが、今となってはいくつかバグがあり、注意を要する

1) まず、一旦ログインし、ログアウトするとログインできなくなる (プログラムを起動し直す必要がある)
2) テーブル表示ペインで、UTF-8文字列が化けてしまう

そしてさらに今回発見したのが、メタ情報から取得できるトリガーSQLが、不正な文法になっているケースである

例えば、以下のようなトリガーを作る
CREATE TRIGGER MY_TEST_TRIGGER FOR TEST_TABLE
BEFORE INSERT OR UPDATE
AS
BEGIN
new.RecordTimestamp = current_timestamp;
END

これをデータベースのメタ情報SQLで見てみると以下のようになってしまう
CREATE TRIGGER "MY_TEST_TRIGGER" FOR "TEST_TABLE"
ACTIVE POSITION 0
AS
BEGIN
new.RecordTimestamp = current_timestamp;
END

どこがまずいかというと、2行目のACTIVE POSITION 0という部分である
この部分は正しくはACTIVE BEFORE INSERT OR UPDATE POSITION 0でなくてはならない
信用してこのまま流してしまうと、エラーとなりトリガーが作成されないままとなってしまう

プログラム自体を直すことは今となってはもう無理なので、手作業で対処するしかない




この記事へのコメント
コメントを書く

お名前:

メールアドレス:


ホームページアドレス:

コメント:

※ブログオーナーが承認したコメントのみ表示されます。

この記事へのトラックバックURL
https://fanblogs.jp/tb/2589770
※ブログオーナーが承認したトラックバックのみ表示されます。

この記事へのトラックバック
ファン
検索
<< 2016年05月 >>
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31        
最新記事
最新コメント
タグクラウド
カテゴリアーカイブ
プロフィール
いしちゃんさんの画像
いしちゃん
ブログ
プロフィール
日別アーカイブ
×

この広告は30日以上新しい記事の更新がないブログに表示されております。