[pgsql-jp: 40351] Re: ON DELETE CASCADE をつけた時のdelete動作について

ronaldo ronaldobraziljp @ yahoo.co.jp
2010年 8月 5日 (木) 23:59:17 JST


尾藤です。

> これは逆ですよね?
> 「テーブルBのレコードを削除すると、テーブルBの外部キーに関連する
>  テーブルAのレコードも削除される」
逆でした。失礼しました。

> おっしゃるとおり、トランザクション管理をしているので無いですね。

ありがとうございます。

-以上-
On 2010/08/02, at 15:00, Yoshiharu Mori wrote:

> 盛です。
> 
>> 尾藤と申します。
>> 
>> PostgreSQL 8.2.4 を Cent OS 4.4上で使っています。
>> 
>> タイトルの動作について質問させて頂きます。
>> 
>> テーブルA,テーブルBがあり、テーブルBの主キーをAテーブルの外部キーに
>> しているケース(下の様な制約をつけているケース)で、
>> 
>> ADD TABLE ONLY テーブルA
>>  ADD CONSTRAINT fk_テーブルA FOREIGN KEY (テーブルBID) 
>>  REFERENCES テーブルB(テーブルBID)
>>  ON DELETE CASCADE;
>> 
>> 「テーブルAのレコードを削除すると、テーブルAの外部キーに関連する
>>  テーブルBのレコードも削除される」
> 
> これは逆ですよね?
> 「テーブルBのレコードを削除すると、テーブルBの外部キーに関連する
>  テーブルAのレコードも削除される」
> 
>> 
>> はずですが、もしテーブルBのレコードの削除中になんらかの異常が発生
>> した場合、テーブルAのレコードだけが削除された状態になることはある
>> のでしょうか?
>> 
>> 制約とトランザクション管理でそのようなことはないと思っているので
>> すが。
> 
> おっしゃるとおり、トランザクション管理をしているので無いですね。
> 
>> 
>> よろしくお願いします。
>> 
>> --------------------------------------
>> Get the new Internet Explorer 8 optimized for Yahoo! JAPAN
>> http://pr.mail.yahoo.co.jp/ie8/
> 
> 
> -- 
> Yoshiharu Mori <y-mori @ sra.co.jp>

--------------------------------------
Are you OK?  Online Safety Special Site - Yahoo! JAPAN
http://pr.mail.yahoo.co.jp/security/


pgsql-jp メーリングリストの案内