Клубове Дир.бг
powered by diri.bg
търси в Клубове diri.bg Разширено търсене

Вход
Име
Парола

Клубове
Dir.bg
Взаимопомощ
Горещи теми
Компютри и Интернет
Контакти
Култура и изкуство
Мнения
Наука
Политика, Свят
Спорт
Техника
Градове
Религия и мистика
Фен клубове
Хоби, Развлечения
Общества
Я, архивите са живи
Клубове Дирене Регистрация Кой е тук Въпроси Списък Купувам / Продавам 14:17 29.04.25 
Клубове/ Компютри и Интернет / Бази данни Пълен преглед*
Информация за клуба
Тема Re: Помощ за MySQL заявка DELETE + SELECT [re: caller]
Автор Dakota (erotoman)
Публикувано16.11.06 19:21  



Не се сещам за вариант без съхранена процедура. А дори и с такава, ще трябва да си запазиш някъде записите временно:

CREATE TABLE test (id INT, name CHAR(1));


INSERT INTO test VALUES (1, 'A');
INSERT INTO test VALUES (2, 'B');
INSERT INTO test VALUES (3, 'C');


Опитите ми с обикновена функция доведоха до неуспех:

mysql> SET GLOBAL log_bin_trust_function_creators = 1;


mysql> delimiter $$
mysql> create function delete_from_test (p_id int) returns boolean modifies sql data
begin
delete from test where id=p_id;
return true;
end;
$$
Query OK, 0 rows affected (0.00 sec)

mysql> delimiter ;
mysql> select name, delete_from_test(id) from test;
ERROR 1442 (HY000): Can't update table 'test' in stored function/trigger because it is already used by statement which invoked this stored function/trigger.


В PostgreSQL пък същото си работи без проблем:

rating=# create or replace function delete_from_test (int) returns void as

$$
DELETE FROM test WHERE id=$1;
$$
LANGUAGE 'sql' VOLATILE;

rating=# select name, delete_from_test(id) from test;
name | delete_from_test
------+------------------
A |
B |
C |
(3 rows)

rating=# select * from test;
id | name
----+------
(0 rows)


За какво ти е изобщо това всъщност? Не можеш ли просто да си избереш със SELECT редовете и после да ги изтриеш?

Everything louder than everything else...

Редактирано от Dakota на 16.11.06 19:23.



Цялата тема
ТемаАвторПубликувано
* Помощ за MySQL заявка DELETE + SELECT caller   14.11.06 15:08
. * Re: Помощ за MySQL заявка DELETE + SELECT Dakota   16.11.06 19:21
. * Re: Помощ за MySQL заявка DELETE + SELECT phpGuru   17.11.06 12:57
. * Re: Помощ за MySQL заявка DELETE + SELECT wqw   17.11.06 17:50
. * Re: Помощ за MySQL заявка DELETE + SELECT caller   20.11.06 20:08
. * Re: Помощ за MySQL заявка DELETE + SELECT Dakota   21.11.06 13:49
. * Re: Помощ за MySQL заявка DELETE + SELECT zzzzzzzzz   17.11.06 13:52
Клуб :  


Clubs.dir.bg е форум за дискусии. Dir.bg не носи отговорност за съдържанието и достоверността на публикуваните в дискусиите материали.

Никаква част от съдържанието на тази страница не може да бъде репродуцирана, записвана или предавана под каквато и да е форма или по какъвто и да е повод без писменото съгласие на Dir.bg
За Забележки, коментари и предложения ползвайте формата за Обратна връзка | Мобилна версия | Потребителско споразумение
© 2006-2025 Dir.bg Всички права запазени.