[Firebird-jp-general] ForeignKeyをDropできない

Back to archive index

渡辺 watan****@nifty*****
2016年 2月 18日 (木) 15:12:22 JST


林さん

 渡辺です。

 ありがとうございました。

 1つのprocedureが Select文の中で、
 plan sort句を使い、その中でこのForeignKeyを使っていました。

 たぶん、10年以上前に書いたProcedureなのですが、
 外部キーを作るとついでにIndexができるんだな〜と勘違いして
 じゃ、これでいいやって感じで外部キー用のIndexを
 通常のIndexと同じように使ったんだと思います。
 (FireBirdは外部キーでもUniqueでも内部でIndexを作るようですね)

 
 何にdependしてるのか分からなかったんですが、
 mon$dependenciesを上手に読めば良かったのかも知れないです。
select d.*,
(select rdb$type_name from rdb$types
where rdb$field_name='RDB$OBJECT_TYPE'
and rdb$type=d.rdb$dependent_type)
from rdb$dependencies d
where rdb$depended_on_name='HACHU'
and rdb$Field_name='PARTSID'

 データベースの故障はなかったようです。


 ありがとうございました。



 

On 2016/02/17 16:19, Tsutomu Hayashi wrote:
> はやしです。
>
> 未コミットのデータがあると、依存性があるとエラーが表示されることがあるようです。
>
> http://tracker.firebirdsql.org/browse/CORE-1655
>
> 2016年2月17日 6:38 渡辺 <watan****@novel*****>:
>>>> unsuccessful metadata update
>>>> -cannot delete
>>>> -INDEX FKHACHUTOPARTS
>>>> -there are 1 dependencies
> テスト用のデータベースをバックアップ+リストアして試してみてはどうでしょうか?
>
> また、最悪の場合はリストア時に -n オプションを付けて制約を全て取っ払ってみることも出来ますが・・・
>
>
> +++++++++++++++++++++++++++++++
>
> >From Hayashi "tomneko" tsutomu
> Mail: hayas****@fireb*****
> Web: http://www.firebird.gr.jp
>
> +++++++++++++++++++++++++++++++
> _______________________________________________
> Firebird-jp-general mailing list
> Fireb****@lists*****
> http://lists.osdn.me/mailman/listinfo/firebird-jp-general
>
>




Firebird-jp-general メーリングリストの案内
Back to archive index