Пытаюсь создать хранимую процедуру в которой параметром задается имя создаваемой таблицы. Пробовал изначально так (потому что имя это уникальное число):
CREATE PROCEDURE createTableFact
(
@name int
)
AS
CREATE TABLE @name (id int not null IDENTITY (1,1), products varchar(max), weight int, boxes int, suma int, total int)
Но оно ругалось на @name (Неверный синтаксис около "@name". Ожидается ".", IDили QOUTED_ID.)
Изменил на так:
CREATE PROCEDURE createTableFact
(
@name varchar(max)
)
AS
CREATE TABLE @name (id int not null IDENTITY (1,1), products varchar(max), weight int, boxes int, suma int, total int)
Проблема не решилась.
Решил создавать таблицу через SQL запрос в самой программе (пишу на c# используя SqlConnection)
cmd.CommandText = "CREATE TABLE "+affected+" (id int not null IDENTITY (1,1), products varchar(max), weight int, boxes int, suma int, total int)";
Где affected это переменная int с таким именем и присвоенным числом.
В принципе он хавает это, но возвращает ошибку где ему не нравится число.
Пробовал конвертировать в String - эффект тот же.
Уже все голову сломал как это сделать?