Модераторы: Akina
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Обновление данных процедурой, проверьте,пожалуйста,мои мысли 
:(
    Опции темы
Lunatikus
Дата 2.11.2007, 11:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 503
Регистрация: 29.6.2007

Репутация: 2
Всего: 6



ЗДравствуйте,коллеги.Есть две идентичные таблицы,у которых есть одинаковые поля. Ключевое поле в обоих одно и то же.Как запросом обновить данные в таблице т2 из таблицы т1?Проверьте,пожалуйста,правильно ли я делаю запрос?
Код

UPDATE t2 SET t2.pole1=t1.pole1, t2.pole2=t1.pole2, t2.pole3=t1.pole3 FROM t1,t2 WHERE t2.pole4=t1.pole4

pole4-PK
у меня чувство,что что-то не так.Подскажите,правильно ли сделать такой запрос?или я что-то упустил?


--------------------
TheSin - небольшое игровое сообщество взрослых и молодых(L2,WoW,Aion,RFonline and other not mmorpg,not computer games).
сайт гильдии
PM MAIL   Вверх
Servena
Дата 2.11.2007, 13:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 251
Регистрация: 24.7.2007
Где: Днепропетровск

Репутация: 10
Всего: 14



Попробуй так:
Код

UPDATE Period_2
SET Period_2.[month]=(SELECT Periods.[month] FROM Periods WHERE Periods.[year]=Period_2.[year])


Названия столбиков в квадратных скобках потому что они совпадают с зарезервированными словами
в системе.
PM MAIL   Вверх
kali
Дата 2.11.2007, 15:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 139
Регистрация: 9.11.2006
Где: Минск

Репутация: 1
Всего: 20



Цитата(Lunatikus @  2.11.2007,  10:56 Найти цитируемый пост)
ЗДравствуйте,коллеги.Есть две идентичные таблицы,у которых есть одинаковые поля. Ключевое поле в обоих одно и то же.Как запросом обновить данные в таблице т2 из таблицы т1?Проверьте,пожалуйста,правильно ли я делаю запрос?

UPDATE t2 SET t2.pole1=t1.pole1, t2.pole2=t1.pole2, t2.pole3=t1.pole3 FROM t1,t2 WHERE t2.pole4=t1.pole4

pole4-PK
у меня чувство,что что-то не так.Подскажите,правильно ли сделать такой запрос?или я что-то упустил?


Все правильно. Ничего не упустил.
--------------------
Работая над решением задачи, всегда полезно знать ответ.
PM MAIL Skype   Вверх
Lunatikus
Дата 2.11.2007, 17:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 503
Регистрация: 29.6.2007

Репутация: 2
Всего: 6



Servena, надо попробовать. Только волнуюсь за то,что подзапрос -то надо делать для каждого изменяемого поля получается. Не слишком ли большая загрузка?

Код

UPDATE Period_2
SET 
Period_2.[month]=(SELECT Periods.[month] FROM Periods WHERE Periods.[year]=Period_2.[year]),
Period_2.[day]=(SELECT Periods.[day] FROM Periods WHERE Periods.[year]=Period_2.[year]) 
--и так далее для нескольких полей

у меня таких полей от 5 до 10.



kali, спасибо за оценку  smile 


--------------------
TheSin - небольшое игровое сообщество взрослых и молодых(L2,WoW,Aion,RFonline and other not mmorpg,not computer games).
сайт гильдии
PM MAIL   Вверх
Servena
Дата 2.11.2007, 19:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 251
Регистрация: 24.7.2007
Где: Днепропетровск

Репутация: 10
Всего: 14



Тут получается много кода - но быстро, поскольку нет объединения (меня настораживает эта конструкция:
Код

FROM t1,t2 
), хотя лучше бы было, если бы ты сделал и так и так. А потом сказал, сколько (мили(микро)) секунд это заняло.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "MS SQL"
Akina

Akina

Запрещается!

Публиковать ссылки и обсуждать взлом чего бы то ни было.

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы составления неспецифических запросов рассматриваются здесь
  • Используйте теги [code=sql][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Zloxa, Akina.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | MS SQL Server | Следующая тема »


 




[ Время генерации скрипта: 0.0577 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.