Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности

Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
06.12.2001, 11:03
|
|||
|---|---|---|---|
Помогите с UPDATE (MS SQL 2000) |
|||
|
#18+
Вопрос таков: У меня есть таблица ##Factures и Factures. Допустим в них присутствует запись с одлиноковым ID, но с разными значениями. Вот мне хочется из таблицы ##Factures запись с ID=@ID перенести в таблицу Factures с ID=@ID. Конечно, можно сперва удалить эту запись, а потом с помощью Insert Into Factures select top 1 * from ##Factures with ID=@ID. Но я не со всеи таблицами это могу стелать, т.к. есть связи по полям. Поэтому необходимо использовать именно UPDATE. Каким образом ??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
06.12.2001, 11:09
|
|||
|---|---|---|---|
Помогите с UPDATE (MS SQL 2000) |
|||
|
#18+
UPDATE Factures SET .... FROM Factures INNER JOIN ##Factures on ##Factures.ID = Factures.ID AND ##Factures.ID = @ID ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
06.12.2001, 11:24
|
|||
|---|---|---|---|
Помогите с UPDATE (MS SQL 2000) |
|||
|
#18+
Не-е-е-е.... это не пойдет.... мне нужно типа * а не указывать постоянно поля. Как это можно сделать ????? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
06.12.2001, 11:39
|
|||
|---|---|---|---|
Помогите с UPDATE (MS SQL 2000) |
|||
|
#18+
В UPDATE нет опции * - все обновляемые поля перечислияются в SET. PS И тем более как вы себе предсавляете UPDATE mytable * - из каких полей подзапроса должны браться значения ? сервер сам должен сравнить их по именам с полями обновляемой таблицы ? или по порядковому номеру поля ? или типу данных ? а если в подзапросе больше/меньше полей, чем в обновляемой таблице ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
10.12.2001, 12:29
|
|||
|---|---|---|---|
|
|||
Помогите с UPDATE (MS SQL 2000) |
|||
|
#18+
UPDATE * Реализовать всеже можно. Вы можете написать к примеру пользовательскую скалярную функцию (они появились в MSSQL 2000), которая вернет вам строчку для UPDATE и выполнить ее с помощью Exec('SQL test') Что то типа: declare @sql varchar(1000) select @sql = dbo.GetUpdateStatement('Factures', '##Factures') exec(@sql) --- функция dbo.GetUpdateStatement принимает имя таблицы, выбирает имена полей для этой таблицы из системных данных и составляет из них сторочку, которая предполагалась (UPDATE Factures SET .... FROM Factures INNER JOIN ##Factures on ##Factures.ID = Factures.ID AND ##Factures.ID = @ID) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=46&mobile=1&tid=1824677]: |
0ms |
get settings: |
7ms |
get forum list: |
12ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
51ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
25ms |
get tp. blocked users: |
1ms |
| others: | 247ms |
| total: | 356ms |

| 0 / 0 |
