Программы "Простой софт" www.prostoysoft.ru

ВНИМАНИЕ! РЕКЛАМНЫЕ СООБЩЕНИЯ И ГИПЕРССЫЛКИ В ФОРУМЕ ЗАПРЕЩЕНЫ (посты удаляются автоматически часто с пользователем)
Текущее время: 28.10.2024 21:20

Часовой пояс: UTC + 4 часа




Начать новую тему Ответить на тему  [ Сообщений: 30 ]  На страницу 1, 2  След.
Автор Сообщение
 Заголовок сообщения: Перемещение записи
СообщениеДобавлено: 14.06.2012 15:36 
Не в сети

Зарегистрирован: 14.06.2012 15:26
Сообщения: 15
Доброго времени суток!

Нужно реализовать перемещения записей из одной таблицы в другую.

Пример: Есть таблицы "Заявки" и "Заказы". В таблице "Заявки" есть запись, с полем "Статус" и значениями. Если, скажем, значение изменить на "На заказ", то нужно, чтобы эта запись сразу перемещалась в таблицу "Заказы".

Помогите реализовать функцию!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Перемещение записи
СообщениеДобавлено: 14.06.2012 16:06 
Не в сети
Администратор

Зарегистрирован: 15.02.2006 20:16
Сообщения: 3690
Откуда: Санкт-Петербург
Добрый день.
Это делается с помощью триггера.
Прочтите типовой вопрос №36.
Также рекомендую посмотреть обучающее видео "Триггеры" на стартовой странице нашего сайта.

_________________
2B OR NOT 2B = TRUE


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Перемещение записи
СообщениеДобавлено: 14.06.2012 16:28 
Не в сети

Зарегистрирован: 14.06.2012 15:26
Сообщения: 15
Ivan писал(а):
Добрый день.
Это делается с помощью триггера.
Прочтите типовой вопрос №36.
Также рекомендую посмотреть обучающее видео "Триггеры" на стартовой странице нашего сайта.


Иван, спасибо за ответ! Нашла где триггеры в базе. Посмотрела видео, но похожей ситуации там нету!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Перемещение записи
СообщениеДобавлено: 14.06.2012 17:36 
Не в сети
Администратор

Зарегистрирован: 15.02.2006 20:16
Сообщения: 3690
Откуда: Санкт-Петербург
Для добавления записи в таблицу используется SQL-инструкция вида INSERT INTO...
Для удаления записи из таблицы используется SQL-инструкция вида DELETE FROM...
Прочтите типовой вопрос №18.

_________________
2B OR NOT 2B = TRUE


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Перемещение записи
СообщениеДобавлено: 15.06.2012 14:22 
Не в сети

Зарегистрирован: 14.06.2012 15:26
Сообщения: 15
Ivan писал(а):
Для добавления записи в таблицу используется SQL-инструкция вида INSERT INTO...
Для удаления записи из таблицы используется SQL-инструкция вида DELETE FROM...
Прочтите типовой вопрос №18.

Вот так не работает! :cry:

INSERT INTO qdfOrders
UPDATE qdfOrders SET [Status] = 'Заказать'
DELETE FROM tblProducts WHERE Status = <На Заказ>


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Перемещение записи
СообщениеДобавлено: 18.06.2012 13:13 
Не в сети

Зарегистрирован: 25.01.2012 11:41
Сообщения: 186
и не должно.

посмотрите для начала как правильно пользоваться этими командами


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Перемещение записи
СообщениеДобавлено: 18.06.2012 14:19 
Не в сети

Зарегистрирован: 14.06.2012 15:26
Сообщения: 15
RMelnyk писал(а):
и не должно.

посмотрите для начала как правильно пользоваться этими командами


И вы тоже не знаете? Непонимаю! :(


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Перемещение записи
СообщениеДобавлено: 19.06.2012 10:28 
Не в сети

Зарегистрирован: 25.01.2012 11:41
Сообщения: 186
alexsept писал(а):
И вы тоже не знаете? Непонимаю! :(


Вот и я непонимаю!
"Нужно чтобы перемещалось", что, куда, какие поля в таблице?
У вас 2 идентичные по полям таблицы? Только нужно чтоб в первой отображался один статус, а во второй другой?
Так вам вобще тригеры не нужны, сделайте виртуальное представление, которое будет вам фильтровать записи.

Если же настаивате на тригерах, то вы пишите:
Цитата:
INSERT INTO qdfOrders
UPDATE qdfOrders SET [Status] = 'Заказать'
DELETE FROM tblProducts WHERE Status = <На Заказ>


При этом что не понятно из того, что я предлагаю вам проверить синтаксис:
INSERT INTO таблиця (колонка1, [колонка2, ... ]) VALUES (значення1, [значення2, ...])
UPDATE [top(x)] <объект>
SET <присваивание1 [, присваивание2, ...]>
[WHERE <условие>]
DELETE FROM <Имя Таблицы> WHERE <Условие отбора записей>

У вас такой формат?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Перемещение записи
СообщениеДобавлено: 20.06.2012 15:01 
Не в сети

Зарегистрирован: 14.06.2012 15:26
Сообщения: 15
RMelnyk писал(а):
alexsept писал(а):
И вы тоже не знаете? Непонимаю! :(


Вот и я непонимаю!
"Нужно чтобы перемещалось", что, куда, какие поля в таблице?
У вас 2 идентичные по полям таблицы? Только нужно чтоб в первой отображался один статус, а во второй другой?
Так вам вобще тригеры не нужны, сделайте виртуальное представление, которое будет вам фильтровать записи.

Если же настаивате на тригерах, то вы пишите:
Цитата:
INSERT INTO qdfOrders
UPDATE qdfOrders SET [Status] = 'Заказать'
DELETE FROM tblProducts WHERE Status = <На Заказ>


При этом что не понятно из того, что я предлагаю вам проверить синтаксис:
INSERT INTO таблиця (колонка1, [колонка2, ... ]) VALUES (значення1, [значення2, ...])
UPDATE [top(x)] <объект>
SET <присваивание1 [, присваивание2, ...]>
[WHERE <условие>]
DELETE FROM <Имя Таблицы> WHERE <Условие отбора записей>

У вас такой формат?


Спасибо за ответ! Нужно, чтобы из таблицы tblProducts перемещалась вся запись (при условии изменения статуса в этой же таблице у этой же записи (Status)=На заказ) в таблицу qdfOrders (с такими же полями) с измененным полем Status.

NSERT INTO qdfOrders
UPDATE qdfOrders SET [Status] = 'Заказать'
DELETE FROM tblProducts WHERE Status = <На Заказ>
-не работает :(


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Перемещение записи
СообщениеДобавлено: 20.06.2012 15:10 
Не в сети
Администратор

Зарегистрирован: 15.02.2006 20:16
Сообщения: 3690
Откуда: Санкт-Петербург
Повторяю вам, прочитайте типовой вопрос №36 по триггерам, посмотрите типовой вопрос №18 с примерамми выражений SQL, посмотрите обучающее видео.

_________________
2B OR NOT 2B = TRUE


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Перемещение записи
СообщениеДобавлено: 20.06.2012 15:38 
Не в сети

Зарегистрирован: 14.06.2012 15:26
Сообщения: 15
Прочитала! Делаю все вот так:
INSERT INTO qdfOrders SELECT * FROM tblProducts
UPDATE qdfOrders SET [Status] = 'Заказать'
DELETE FROM tblProducts WHERE Status = <На заказ>


Но выдает ошибку: "Ошибка синтаксиса в предложении FROM"


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Перемещение записи
СообщениеДобавлено: 20.06.2012 16:30 
Не в сети
Администратор

Зарегистрирован: 15.02.2006 20:16
Сообщения: 3690
Откуда: Санкт-Петербург
INSERT INTO qdfOrders SELECT * FROM tblProducts - эта инструкция не верна.
NSERT INTO qdfOrders - эта тоже.

_________________
2B OR NOT 2B = TRUE


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Перемещение записи
СообщениеДобавлено: 20.06.2012 16:40 
Не в сети

Зарегистрирован: 14.06.2012 15:26
Сообщения: 15
Ivan писал(а):
INSERT INTO qdfOrders SELECT * FROM tblProducts - эта инструкция не верна.
NSERT INTO qdfOrders - эта тоже.


Я так и знала! В чем же ошибка? :)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Перемещение записи
СообщениеДобавлено: 20.06.2012 17:02 
Не в сети
Администратор

Зарегистрирован: 15.02.2006 20:16
Сообщения: 3690
Откуда: Санкт-Петербург
В вопросе 18 предоставлен пример инструкции INSERT INTO:

INSERT INTO tblProducts (Product, Price, Data) VALUES ('Продукт 1', 123.45, '2012-12-31') - добавляем одну запись в таблицу "Продукты"

_________________
2B OR NOT 2B = TRUE


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Перемещение записи
СообщениеДобавлено: 21.06.2012 11:36 
Не в сети

Зарегистрирован: 14.06.2012 15:26
Сообщения: 15
Добрый день!
С перемещением кое-как разобралась! (INSERT INTO tblOrders SELECT * FROM tblProducts WHERE Status = 'test') -работает.

Теперь вот мучаюсь с удалением перемещаемой записи (она копируется).


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 30 ]  На страницу 1, 2  След.

Часовой пояс: UTC + 4 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 4


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB