Компьютерный форум
Правила
Вернуться   Компьютерный форум > Форум программистов > Базы данных > SQL
Перезагрузить страницу Сортировка с помощью временной таблицы
Ответ
 
Опции темы Опции просмотра
  (#1 (permalink)) Старый
Semenov Semenov вне форума
Новичок
 
Сообщений: 6
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 22.04.2011
По умолчанию Сортировка с помощью временной таблицы - 01.06.2011, 21:24

Делаю запрос на заполнение таблицы, и нужно чтобы даты шли по возрастанию.
Вылетает ошибка: "В базе данных уже существует объект с именем "temporaryDate"."
Вот сам код:
SQL Код:
SET LANGUAGE русский
--создание временной таблицы для задания дат
CREATE TABLE "temporaryDate" (
    "id" INT NOT NULL)
DECLARE @x INT
DECLARE @cause INT
DECLARE @DATE INT
DECLARE @room INT
DECLARE @quantity INT
DECLARE @i INT
DECLARE @j INT

SELECT @x=1
--заполнение таблицы с датами
while @x<=100

BEGIN

SELECT @j=FLOOR(rand()*1820)+1
INSERT INTO temporaryDate VALUES (@j);
SET @i=@i+1
END


SELECT @x=1
SELECT @i=0

while @x<=100

BEGIN

--ID причины отклонения
SELECT @cause=FLOOR (1+RAND()*(SELECT COUNT (CauseID) FROM dbo.CauseDeclineOrder))
--ID номера
SELECT @room=FLOOR (1+RAND()*(SELECT COUNT (RoomID) FROM dbo.Room))
--количесвто
SELECT @quantity = 1

IF @i<=0
BEGIN
--даты по возрастанию
    SELECT @i=(SELECT COUNT(id) FROM temporaryDate WHERE id=(SELECT MIN(id) FROM temporaryDate));
    SELECT  @DATE=(SELECT TOP (1) id FROM temporaryDate ORDER BY id)
    DELETE temporaryDate WHERE id IN(
    SELECT top 1 id FROM temporaryDate ORDER BY id)
    END
    SET @i=@i-1


INSERT INTO [hotel].[dbo].[DeclineOrder](DeclineOrderID, [CauseID], [DateID], [RoomID], [Quantity])
VALUES(@x, @cause, @DATE, @room, @quantity)

 SELECT @x=@x+1

 END
DROP TABLE "temporaryDate"

Как исправить эту ошибку?
Ответить с цитированием
  (#2 (permalink)) Старый
Philin Philin вне форума
Member
 
Сообщений: 75
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 30.10.2004
По умолчанию 02.06.2011, 09:39

Первое:
поставьте DROP TABLE "temporaryDate" в начало Вашего скрипта.
(Собственно, ответ на ваш вопрос)

Второе: у вас там бесконечный цикл.
SQL Код:
SELECT @x=1
--заполнение таблицы с датами
while @x<=100
BEGIN
  SELECT @j=FLOOR(rand()*1820)+1
  INSERT INTO temporaryDate VALUES (@j);
  SET @i=@i+1 --?????? SET @x=@x+1
END

Третье: если хотите использовать временные таблицы, то используйте "временные таблицы":
SQL Код:
CREATE TABLE #temporaryDate ("id" INT NOT NULL),
INSERT INTO #temporaryDate
  SELECT 1
SELECT * FROM #temporaryDate
DROP TABLE #temporaryDate
Ответить с цитированием
  (#3 (permalink)) Старый
Semenov Semenov вне форума
Новичок
 
Сообщений: 6
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 22.04.2011
По умолчанию 02.06.2011, 10:46

спасибо за помощь!
Ответить с цитированием
Ads
Ответ

Опции темы
Опции просмотра

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

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Быстрая сортировка(сортировка Хоара).Сортировка фрагмента массива[C++] druger С/С++ 1 20.04.2012 16:45
Сортировка строк с помощью массива укателей Erbium С/С++ 6 20.08.2011 23:25
Выборка данных из определенного поля таблицы с помощью DBGrid iamempty Delphi 0 24.04.2011 12:13
Создание таблицы состоящей из данных другой таблицы в Delphi Krica Вопросы начинающих программистов 5 28.12.2007 00:22
Сортировка ListCtrl с помощью массива BabyProgrammer Visual C++ 7 09.10.2007 15:00
Сортировка таблицы Paradox ГС ТОФ Delphi 4 21.01.2007 16:05
Управление ячейками таблицы с помощью JS FreeZ DHTML, JavaScript, VBScript 5 04.10.2006 11:56
Преобразование автоматического числа в временной промежуток Darzen Вопросы начинающих программистов 7 27.04.2006 08:41
Доступ к чужой временной таблице mns MSSQL Server 0 16.01.2006 16:16
Сортировка MySQL таблицы el-niko SQL 3 21.04.2005 10:07
Как узнать путь к временной папке Windows MTony Delphi 4 01.09.2004 10:17
Создание таблицы в MSWord из БД с помощью Builder fishb0ne C++ Builder 3 17.10.2003 11:57



Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
Нardforum.ru - компьютерный форум и программирование, форум программистов