Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Перенос строки из одной таблицы в другую.  [new]
Den Chip
Member

Откуда:
Сообщений: 4
Доброго времени суток. Подскажите новичку. Есть БД в ней 2 таблицы BASE1 и BASE2, необходимо из таблицы BASE1 скопировать последнюю строку в таблицу BASE2 после чего удалить таблицу BASE1. Размерность BASE1 не известна, необходимо реализовать в SQL запросах.
P.S заранее спасибо.
23 июл 13, 12:41    [14603510]     Ответить | Цитировать Сообщить модератору
 Re: Перенос строки из одной таблицы в другую.  [new]
iap
Member

Откуда: Москва
Сообщений: 47066
Den Chip,

последняя строка - это что?
Размерность BASE1 - это что? И почему нельзя её узнать из метаданных?
23 июл 13, 12:44    [14603537]     Ответить | Цитировать Сообщить модератору
 Re: Перенос строки из одной таблицы в другую.  [new]
Гость333
Member

Откуда:
Сообщений: 3683
Den Chip
из таблицы BASE1 скопировать последнюю строку в таблицу BASE2

INSERT INTO BASE2(Столбец1, Столбец2, ..., СтолбецN)
SELECT TOP(1) Столбец1, Столбец2, ..., СтолбецN
FROM BASE1
ORDER BY КритерийУпорядоченностиСтрок DESC;


Den Chip
после чего удалить таблицу BASE1

DROP TABLE BASE1;
23 июл 13, 12:46    [14603553]     Ответить | Цитировать Сообщить модератору
 Re: Перенос строки из одной таблицы в другую.  [new]
Den Chip
Member

Откуда:
Сообщений: 4
Гость333,
Ругается на скобку "( " во второй строке
MS SQL 2000
23 июл 13, 13:14    [14603821]     Ответить | Цитировать Сообщить модератору
 Re: Перенос строки из одной таблицы в другую.  [new]
Den Chip
Member

Откуда:
Сообщений: 4
ВСе ок спс огромное.
Небольшое исправление - после SELECT TOP 1 без скобок через пробел


INSERT INTO BASE2(Столбец1, Столбец2, ..., СтолбецN)
SELECT TOP 1 Столбец1, Столбец2, ..., СтолбецN
FROM BASE1
ORDER BY КритерийУпорядоченностиСтрок DESC;
23 июл 13, 13:48    [14604025]     Ответить | Цитировать Сообщить модератору
 Re: Перенос строки из одной таблицы в другую.  [new]
Гость333
Member

Откуда:
Сообщений: 3683
Den Chip
Небольшое исправление - после SELECT TOP 1 без скобок через пробел

Да, в версии 2000 нужно было без скобок писать. В 2005 и выше надо писать со скобками:
BOL2005 -> TOP
Parentheses that delimit expression in TOP is required in INSERT, UPDATE, and DELETE statements. For backward compatibility, TOP expression without parentheses in SELECT statements is supported, but we do not recommend this.
23 июл 13, 14:22    [14604335]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить