[pgsql-jp: 34829] Re: TRIGGERが消せない
Kuniteru Asami
asami @ aqua-systems.co.jp
2005年 2月 7日 (月) 21:39:21 JST
こんばんは、浅見です。
> template1=# CREATE TABLE t1 (id INTEGER, description TEXT);
> CREATE TABLE
> template1=# CREATE TABLE t2 (id INTEGER, description TEXT);
> CREATE TABLE
>
> このようなテーブルがあるとき、以下のトリガーを定義しました。
>
> template1=# CREATE CONSTRAINT TRIGGER "<unnamed>"
>....snip....
> template1=# \d t1
> テーブル "public.t1"
> カラム | 型 | 修飾語
> -------------+---------+--------
> id | integer |
> description | text |
> トリガー:
> CREATE CONSTRAINT TRIGGER "RI_ConstraintTrigger_17263" AFTER DELETE
> ON t1 FROM t2 NOT DEFERRABLE INITIALLY IMMEDIATE FOR EACH ROW
> EXECUTE PROCEDURE "RI_FKey_noaction_del"('<unnamed>', 't1', 't2',
> 'UNSPECIFIED', 't2_id', 'T1_id')
>
> そこでこのトリガーを消そうと
> template1=# DROP TRIGGER RI_ConstraintTrigger_17263 on t1;
> としたところ、
>
> ERROR: trigger "ri_constrainttrigger_17263" for table "t1"
> does not exist
>
> と言われてしまい、DROPすることが出来ません。
template1=# DROP TRIGGER "RI_ConstraintTrigger_17263" on t1;
とトリガー名をダブルコーテーションでくくる必要があります。
普通にオブジェクトを作ると小文字に統一されるのですが、オブジェ
クトの作り方によっては大文字が混ざってこうなるんですよね。
0---------0---------0---------0---------0---------0---------0
00 浅見 城輝
0-0 mailto:asami at aqua-systems.co.jp
0--0 http://www.fiberbit.net/user/kunyami/postgresql/
pgsql-jp メーリングリストの案内