Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / начинающий. Создание таблицы / 4 сообщений из 4, страница 1 из 1
26.08.2002, 15:36:22
    #32045911
Sequel
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
начинающий. Создание таблицы
Как из хранимой процедуры создать временную таблицу
с именем, часть которого поступает в саму процедуру как переметр ???

create table ("#tmp"+@tmp_table_name) (code INT))
уже здесь выдает синтаксическую ошибку

Кака сделать правильно ???
...
Рейтинг: 0 / 0
26.08.2002, 15:51:20
    #32045915
Александр Спелицин
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
начинающий. Создание таблицы
Exec ('create table (#tmp' + @tmp_table_name + ') '
...
Рейтинг: 0 / 0
26.08.2002, 15:52:37
    #32045916
Sanek
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
начинающий. Создание таблицы
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
CREATE PROCEDURE TEST 
    @TABLE_NAME VARCHAR( 40 )
AS 

DECLARE @QUERY VarChar( 5000 )

SET @QUERY = 'CREATE TABLE #' + @TABLE_NAME + ' (row_id int)'
EXEC (@QUERY )

...
Рейтинг: 0 / 0
26.08.2002, 15:57:20
    #32045918
Jimmy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
начинающий. Создание таблицы
На первый взгляд - так:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
create procedure usp_CreateTable
    @tmpid varchar( 128 )
    as
begin
    declare @cmd varchar( 1024 )
    set @cmd = 'create table #tmp' + @tmpid + ' (.....)'
    exec( @cmd )
end

но работать будет неправильно, т.к. EXEC создает свой контекст, так что созданная табла будет не видна.

Если количество таблиц ограничено и не велико, то можно так решить проблему:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
create procedure usp_CreateEnumTable
    @tmpid smallint
    as
begin
    if @tmpid =  0 
        create table #tmp0 (...)

    if @tmpid =  1 
        create table #tmp1 (...)

    :::

    if @tmpid =  10 
        create table #tmp10 (...)

end


PS Если изложите проблему более подробно, может другое решение подскажут - более правильное.
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / начинающий. Создание таблицы / 4 сообщений из 4, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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