Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Непонятки какие-то. / 7 сообщений из 7, страница 1 из 1
09.11.2001, 12:58
    #32016757
N_Michael
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Непонятки какие-то.
Подскажите начинающему.

if @mode<4 begin
create table #tmpOut (datadok int,numdok int)
.... еще что-то .....
end
else begin
create table #tmpOut(numtow int,koltow int)
.... еще что-то .....
end

Select * from #tmpOut
drop table #tmpOut

выдает ошибку: "There is already an object named '#tmpOut' in the database."
Если изменить имя временной таблице в секции "else" то все нормально, но
я хочу создать таблицу структура которой зависит от переменной @mode.
1.Как побороть.
2.Почему так делать нельзя?

С уважением, Михаил.
...
Рейтинг: 0 / 0
09.11.2001, 14:12
    #32016764
MishGan
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Непонятки какие-то.
А ты скажи ему так чтобы он успоколися\

if @mode<4 begin
exec sp_executesql N'create table #tmpOut (datadok int,numdok int)'
.... еще что-то .....
end
else begin
exec sp_executesql N'create table #tmpOut(numtow int,koltow int)'
.... еще что-то .....
end

Select * from #tmpOut
exec sp_executesql N'drop table #tmpOut'
...
Рейтинг: 0 / 0
09.11.2001, 14:18
    #32016765
SergSuper
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Непонятки какие-то.
Вариант, предложенный MishGan работать не будет.

Я бы посоветовал не заниматься ерундой, пытаясь обмануть сервер, а дать таблицам разные имена.
...
Рейтинг: 0 / 0
09.11.2001, 14:30
    #32016769
Pandre
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Непонятки какие-то.
Почему же, бывают такие случаи, я бы посоветывал использовать комбинации операторов

create table #tmpOut (i int)

alter table #tmpOut add j1 int,

alter table #tmpOut drop column j1
...
Рейтинг: 0 / 0
09.11.2001, 14:33
    #32016771
MishGan
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Непонятки какие-то.
2. SergSuper
>>Вариант, предложенный MishGan работать не будет.
Почему?
...
Рейтинг: 0 / 0
09.11.2001, 14:47
    #32016773
SergSuper
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Непонятки какие-то.
2 MishGan
Таблица созданная в sp_executesql, только в нём и видна. Это не сложно проверить:

exec sp_executesql N'create table #tmpOut (datadok int,numdok int)'
select * from #tmpOut

сравните с:
exec sp_executesql N'create table #tmpOut (datadok int,numdok int) select * from #tmpOut'
...
Рейтинг: 0 / 0
09.11.2001, 15:41
    #32016780
MishGan
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Непонятки какие-то.
2.SergSuper
Я подразумевал (правда в моем посте это никак не видно) что все действия с этой временной таблицей будут через DSQL, например так:
exec sp_executesql N'select * from #tmpOut' и т.д.
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Непонятки какие-то. / 7 сообщений из 7, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]