![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Почему парсер в queryAnalizer-е выдает ошибку [MSSQL]
Bless © (2004-09-29 16:02:00)There is already an object named '#t' in the database.
на нижеследующий код.
declare @x int
set @x=0
if @x>0 select * into #t from shabp
else select * into #t from pozib
Причем если убрать строчку с else, то все нормально компилируется.
Bless (2004-09-29 18:05:00) [21]stone[13]>
>НЕ ВЕРЮ! (С) Станиславский
- Ты суслика видишь?
- Нет.
- И я нет. А он есть
(c) ДМБ.
Сходи по ссылкам из [8], узнаешь много интересного.
>Явно создавай #t
MOA[8]> Еще раз спасибо. Саме то, что надо.
Да видно так и придется. Просто не хотелось делать INSERT INTO
потому что придется перечислять все поля, а их больше 30.
clickmaker (2004-09-29 17:26:00) [22]
> Bless © (29.09.04 16:02)
Явно создавай #t
stone (2004-09-29 17:26:00) [23]
> Никакого выполнения команды select into не было вообще.
Никогда-никогда? К F5 даже не притрагивался ни разу? и мышкой на Execute Query ни разу не нажимал?
НЕ ВЕРЮ! (С) Станиславский
Bless (2004-09-29 17:26:00) [24]MOA © (29.09.04 17:18) [8]>
Спасибо, почитаю
stone (2004-09-29 17:26:00) [25]
> Никакого выполнения команды select into не было вообще.
Никогда-никогда? К F5 даже не притрагивался ни разу? и мышкой на Execute Query ни разу не нажимал?
НЕ ВЕРЮ! (С) Станиславский
Bless (2004-09-29 17:19:00) [26]stone © (29.09.04 17:11) [7]>
Никакого выполнения команды select into не было вообще.
Ругается при разборке синтаксиса (ctrl+f5 в query Analizer-e), а не при выполнении.
MAO привел цитату, но я ее как-то не понимаю. А сам MAO пропал куда-то :(
MOA (2004-09-29 17:18:00) [27]Вот тут с десяток веточек с той же проблемой:
http://www.sql.ru/forum/actualsearch.aspx?search=if+else+select+into+%EE%F8%E8%E1%EA%E0+There+is+already+an+object+named&a=&ma=0&bid=1&dt=-1&s=1&so=1
stone (2004-09-29 17:11:00) [28]Ни на какие мысли не наводит?
Попробую пояснить
При первом выполнении команды select into создается таблица с указанным именем. При попытке повторного выполнения команды ты и получаешь сообщение об ошибке.
Bless (2004-09-29 17:09:00) [29]stone[5]>
>что и? перевел уже?
:))))
Да вроде бы. Озвучить? Озвучиваю: объект с именем #t уже есть в базе данных.
Ну и?
stone (2004-09-29 17:06:00) [30]
> Ну и?
что и? перевел уже?
Bless (2004-09-29 16:50:00) [31]stone © (29.09.04 16:49) [3]>
Ну и?
stone (2004-09-29 16:49:00) [32]
> There is already an object named '#t' in the database.
ты лучше это переведи
Bless (2004-09-29 16:35:00) [33]MOA [1]>
Какой-то у меня непонятный перевод получается. Это ведь переводится как "конструкции CREATE TABLE или SELECT INTO должны ссылаться на одинаковое имя таблицы, если они используются и в секции IF и в секции ELSE"?
Так у меня они и так ссылаются на одну таблицу #t
MOA (2004-09-29 16:21:00) [34]Из BOL (описание IF..ELSE):
CREATE TABLE or SELECT INTO statements must refer to the same table name if the CREATE TABLE or SELECT INTO statements are used in both the IF and ELSE areas of the IF...ELSE block.
Удачи!