SQL 2000: скрипт создания новой таблицы

Работа VB и СУБД (Access, MSSQL, MySQL, Oracle и пр.)
Правила форума
При создании новой темы не забывайте указывать используемую СУБД.
SAS
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 101
Зарегистрирован: 21.06.2005 (Вт) 0:30
Откуда: Петропавловск-Камчатский

SQL 2000: скрипт создания новой таблицы

Сообщение SAS » 12.04.2006 (Ср) 5:34

Здравствуйте.
Мне необходимо в процессе выполнения одного из триггеров создавать таблицу, имя которой читается из другой таблицы (то есть заранее, при создании скрипта триггера имя таблицы не известно), структура столбцов известна заранее, логика моих действий такова:

1. Определяется имя таблицы, которую необходимо создать (переменная @TabName): (этот участок скрипта работает как надо)

Код: Выделить всё
declare @TabName  nchar
--определение имени добавляемой таблицы
select @TabName = [Ячейка с именем] FROM INSERTED



2. Определяется - есть ли таблица с именем @TabName, если таблицы нет (is Null) - создается

Код: Выделить всё
--определение есть ли уже такая таблица
if object_id (@TabName) is Null
begin
CREATE TABLE @TabName (
   [Идентификатор] [int] IDENTITY (1, 1) NOT NULL ,
   [Идентификатор по карте документа] [int] NULL ,
   [Содержимое в формате XML] [ntext] COLLATE Cyrillic_General_CI_AS NULL ,
   [Содержимое] [nvarchar] (50) COLLATE Cyrillic_General_CI_AS NULL
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]


Приведенный код не работает, ругается на CREATE TABLE @TabName

Вся проблема в том, что не соображу - возможно ли вместо явного имени таблицы подставлять переменную:
Код: Выделить всё
CREATE TABLE @TabName


и если да, то как?
Очень нужно создавать именно таблицу с именем, хранящимся в переменной

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 12.04.2006 (Ср) 7:16

Код: Выделить всё
EXEC('CREATE TABLE ' + @TabName + '...')
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

SAS
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 101
Зарегистрирован: 21.06.2005 (Вт) 0:30
Откуда: Петропавловск-Камчатский

Сообщение SAS » 12.04.2006 (Ср) 22:00

Большое спасибо


Вернуться в Базы данных

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 3

    TopList