Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / С какой версии нормально работает ON DELETE SET NULL / 8 сообщений из 8, страница 1 из 1
10.02.2005, 11:48
    #32909792
assa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
С какой версии нормально работает ON DELETE SET NULL
С какой версии нормально работает ON DELETE SET NULL ??? на ф-кеях?

У меня на 7.3.4. не выставляет в NULL в связанной таблице. Хотя удалять и дает. Нечто триггер дополнительно писать BEFORE DELETE?





PS:
какой дегенеративной голове понадобилось вот это:
Информация Информация

Извините, добавление сообщений в форум с вашего IP адреса, заблокированно для незарегистрированных пользователей. Если это единственный IP адрес, с которого можете вы обратиться к нашему сайту, свяжитесь с администрацией sql.ru

Через несколько секунд вы будете возвращены в форум. Если этого не произойдет, воспользуйтесь этой ссылкой
задолбали, сбоями и т.п, блин
...
Рейтинг: 0 / 0
11.02.2005, 14:08
    #32911713
Niemi
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
С какой версии нормально работает ON DELETE SET NULL
Код: plaintext
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.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
--
test1=> CREATE TABLE films (
test1(>     code        char( 5 ) CONSTRAINT firstkey PRIMARY KEY,
test1(>     title       varchar( 40 ) NOT NULL,
test1(>     did         integer NOT NULL,
test1(>     date_prod   date,
test1(>     kind        varchar( 10 ),
test1(>     len         interval hour to minute
test1(> );
NOTICE:  CREATE TABLE / PRIMARY KEY will create implicit index "firstkey" for ta
ble "films"
CREATE TABLE
--
test1=> CREATE TABLE actors (
test1(> acid char( 5 ),
test1(> acname varchar( 55 ),
test1(> age int,
test1(> actcomm text,
test1(> FOREIGN KEY (acid) REFERENCES films(code) ON DELETE SET NULL
test1(> );
CREATE TABLE
--
test1=> select * from films;
 code  |    title    | did | date_prod  | kind |   len
-------+-------------+-----+------------+------+----------
 r4ef  | Donna Karen |   34  |  20 / 05 / 2000  | nooo | @  2  mins
 dfd4  | Anakin      |   65  |  19 / 02 / 2000  | nooo | @  1  min
 76rf  | Hz Kto      |   32  |  19 / 08 / 1999  | buuu | @  2  mins
( 3  rows)
--
test1=> select * from films;
 code  |    title    | did | date_prod  | kind |   len
-------+-------------+-----+------------+------+----------
 r4ef  | Donna Karen |   34  |  20 / 05 / 2000  | nooo | @  2  mins
 dfd4  | Anakin      |   65  |  19 / 02 / 2000  | nooo | @  1  min
 76rf  | Hz Kto      |   32  |  19 / 08 / 1999  | buuu | @  2  mins
( 3  rows)
--
test1=> DELETE  from films where code='r4ef';
DELETE  1 
--
test1=> select * from actors;
 acid  |       acname        | age |   actcomm
-------+---------------------+-----+--------------
 dfd4  | Mega Killer         |   12  | some comment
 76rf  | Hot baby            |   27  | some comment
       | Super Puper Aktrisa |   28  | some comment
       test1=> select version();
                                         version

--------------------------------------------------------------------------------
----------
 PostgreSQL  8 . 0 . 0  on i686-pc-mingw32, compiled by GCC gcc.exe (GCC)  3 . 4 . 2  (mingw
-special)
( 1  row)
а у меня вроде работает
--
интересно у вас тут
...
Рейтинг: 0 / 0
11.02.2005, 19:03
    #32912480
assa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
С какой версии нормально работает ON DELETE SET NULL
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
CREATE TABLE public.project
(
  id serial NOT NULL,
  pid int4,
  name text, 
  CONSTRAINT project_pkey PRIMARY KEY (id),
  CONSTRAINT fpid FOREIGN KEY (id) REFERENCES public.project (id) ON UPDATE CASCADE ON DELETE SET NULL
) --WITHOUT OIDS;


DELETE FROM project WHERE id= 1 ;
SELECT * FROM PROJECT WHERE id= 2 ;

id	pid	name
 2 	 1 	test

а ваш пример у меня работаит прально. И в модификации со самоссылкой по текстовому ключу - тоже. Погрешил на WITHOUT OIDS; Создал тест (в т.ч. - без прочей обвязки) - не работаит
Кажисть трабла в типе?

некудда кхрестьянину падаться
...
Рейтинг: 0 / 0
11.02.2005, 19:05
    #32912481
assa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
С какой версии нормально работает ON DELETE SET NULL
правда я уж триггерок-то написал. А тестирую - из за вашего поста.
...
Рейтинг: 0 / 0
11.02.2005, 20:20
    #32912542
Sad Spirit
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
С какой версии нормально работает ON DELETE SET NULL
assa
CONSTRAINT fpid FOREIGN KEY (id) REFERENCES public.project (id) ON UPDATE CASCADE ON DELETE SET NULL


а тут случайно не FOREIGN KEY (pid) должно быть написано?
...
Рейтинг: 0 / 0
12.02.2005, 10:02
    #32912751
фыыф
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
С какой версии нормально работает ON DELETE SET NULL
Sad Spirit assa
CONSTRAINT fpid FOREIGN KEY (id) REFERENCES public.project (id) ON UPDATE CASCADE ON DELETE SET NULL


а тут случайно не FOREIGN KEY (pid) должно быть написано?
Спасиба, барин, выручил.
Слона та я и не приметил. Буду проверять мала-мала на работке. (сейчас не помню, так ли там написано. может и прально. А может и непрально.)

Пааааазор на мой трухлявый башка!
...
Рейтинг: 0 / 0
12.02.2005, 13:03
    #32912857
С какой версии нормально работает ON DELETE SET NULL
фыыф Буду проверять мала-мала на работке. (сейчас не помню, так ли там написано. может и прально. А может и непрально.)

Проверил. Было написано именно непрально. Тема видимо закрыта (проверял на 8-ке - дамп завалялся, а не на 7.3.4., т.к. дома сижу)


Надо правильно работать:
"поесть, поспать,
т.е. в смысле на занятья не ходить"

совсем расконцентрация замучала

Еще раз спасиб 2 SadSpirit.
...
Рейтинг: 0 / 0
12.02.2005, 16:46
    #32912973
Niemi
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
С какой версии нормально работает ON DELETE SET NULL
Надеюсь ночью всё-таки спал , а не корпел над этой задачей. Интересно было проверить, как это происходит в 7.4.6
--
интересно у вас тут
...
Рейтинг: 0 / 0
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / С какой версии нормально работает ON DELETE SET NULL / 8 сообщений из 8, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]