Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Создание таблиц из хранимой процедуры  [new]
denis_stell
Member

Откуда:
Сообщений: 255
Добрый день!
Подскажите пожалуйста как лучше реализовать?
Задача такова:
Необходимо сделать приложение которое при вводе в некоторой проге, создавала таблицы в базе с разными именами, параметрами итд
Посмотрел в сторону хранимых процедур
Если создать определенную таблицу из хранимой,то это понятно, а как сделать так, чтобы можно было ввести имя будущей таблицы,вызвать процедуру и та создаст таблицу с тем именем которым мы захотели.И вообще можно таким образом сделать или нет?
пишу так:
USE [DB]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
create PROCEDURE [dbo].[create_table] 
	(@name_table nvarchar)
as
CREATE TABLE [@name_table](
------
------
------
) ON [PRIMARY]

GO
SET ANSI_PADDING OFF

при выполнение процедуры создается таблица с именем @name_table
30 июн 12, 12:53    [12798322]     Ответить | Цитировать Сообщить модератору
 Re: Создание таблиц из хранимой процедуры  [new]
qwerty112
Guest
denis_stell
Добрый день!
Подскажите пожалуйста как лучше реализовать?
Задача такова:
Необходимо сделать приложение которое при вводе в некоторой проге, создавала таблицы в базе с разными именами, параметрами итд
Посмотрел в сторону хранимых процедур
Если создать определенную таблицу из хранимой,то это понятно, а как сделать так, чтобы можно было ввести имя будущей таблицы,вызвать процедуру и та создаст таблицу с тем именем которым мы захотели.И вообще можно таким образом сделать или нет?
пишу так:
USE [DB]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
create PROCEDURE [dbo].[create_table] 
	(@name_table nvarchar)
as
CREATE TABLE [@name_table](
------
------
------
) ON [PRIMARY]

GO
SET ANSI_PADDING OFF

при выполнение процедуры создается таблица с именем @name_table

declare @sql varchar(max)
set @sql = 'CREATE TABLE ['+@name_table+'](
------
------
------
) ON [PRIMARY]'
exec (@sql)

зы
крайне подозрительно, когда появляется "риал-тайм"-необходимость создавать таблицы ...
...обычно, свидетельствует о том, что "разработчег" - предельный балбес ...
30 июн 12, 13:06    [12798336]     Ответить | Цитировать Сообщить модератору
 Re: Создание таблиц из хранимой процедуры  [new]
antbr
Member

Откуда:
Сообщений: 75
denis_stell,

динамический sql
30 июн 12, 13:06    [12798337]     Ответить | Цитировать Сообщить модератору
 Re: Создание таблиц из хранимой процедуры  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 37139
@name_table nvarchar = @name_table nvarchar (1)

У вас точно такие имена короткие будут?
30 июн 12, 13:07    [12798340]     Ответить | Цитировать Сообщить модератору
 Re: Создание таблиц из хранимой процедуры  [new]
denis_stell
Member

Откуда:
Сообщений: 255
qwerty112,
Я не пойму,зачем сразу оскорблять?
Первый раз с таким столкулся,если бы знал не спрашивал...
30 июн 12, 13:29    [12798370]     Ответить | Цитировать Сообщить модератору
 Re: Создание таблиц из хранимой процедуры  [new]
denis_stell
Member

Откуда:
Сообщений: 255
Гавриленко Сергей Алексеевич
@name_table nvarchar = @name_table nvarchar (1)

У вас точно такие имена короткие будут?


Сергей Алексеевич, не пойму вашего вопроса?
У меня имена таблиц будут nvarchar(25) - это максимум или вы про другое?
30 июн 12, 13:31    [12798372]     Ответить | Цитировать Сообщить модератору
 Re: Создание таблиц из хранимой процедуры  [new]
denis_stell
Member

Откуда:
Сообщений: 255
Всем спасибо!
Разобрался.
30 июн 12, 13:40    [12798393]     Ответить | Цитировать Сообщить модератору
 Re: Создание таблиц из хранимой процедуры  [new]
qwerty112
Guest
denis_stell
qwerty112,
Я не пойму,зачем сразу оскорблять?
Первый раз с таким столкулся,если бы знал не спрашивал...

никого я не оскорблял .. я высказал предположение (которое, походу, попало по адресу :) )

объясни мне необходимость создания н-адцати таблиц ОДИНАКОВОЙ СТРУКТУРЫ, а дальше будет видно, подходиш ты под "определение" или нет ...

давай я угадаю - ты под каждого вновь зашедшего в программу - делаеш "його персональную" таблицу, для какой-то фигни,
так ?
30 июн 12, 13:41    [12798397]     Ответить | Цитировать Сообщить модератору
 Re: Создание таблиц из хранимой процедуры  [new]
denis_stell
Member

Откуда:
Сообщений: 255
qwerty112
denis_stell
qwerty112,
Я не пойму,зачем сразу оскорблять?
Первый раз с таким столкулся,если бы знал не спрашивал...

никого я не оскорблял .. я высказал предположение (которое, походу, попало по адресу :) )

объясни мне необходимость создания н-адцати таблиц ОДИНАКОВОЙ СТРУКТУРЫ, а дальше будет видно, подходиш ты под "определение" или нет ...

давай я угадаю - ты под каждого вновь зашедшего в программу - делаеш "його персональную" таблицу, для какой-то фигни,
так ?


Нет, не так и не для этого...
Есть в ДО организации ккм, который ведет лог и есть ПО которое тоже записывает в базу инфу,мне необходимо собрать инфу по каждому логу ккм и сделать анализ с логом который есть в ПО, поэтому захотел делать на уровне таблиц анализ,каждый лог с ДО,будет в разных таблицах, поэтому:
1) Структура будет одинакова, так как логи ккм, одинаковы.
2) Соответственно буду пихать данные в ту таблицу,которая мне нужна,а затем анализировать
3)Мне так удобно.
В общем так.
30 июн 12, 14:00    [12798419]     Ответить | Цитировать Сообщить модератору
 Re: Создание таблиц из хранимой процедуры  [new]
MyNiGoo
Member

Откуда:
Сообщений: 234
а почему не сделать справочник ккм и ПО и писать лог в одну длинную таблицу с ссылкой на источник записи?
30 июн 12, 14:22    [12798456]     Ответить | Цитировать Сообщить модератору
 Re: Создание таблиц из хранимой процедуры  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31778
MyNiGoo
а почему не сделать справочник ккм и ПО и писать лог в одну длинную таблицу с ссылкой на источник записи?
Сделать можно, только таблица будет пустая - ведь существующее ПО пишет логи в разные таблицы.

Не всегда можно изменить дизайн базы.
30 июн 12, 14:56    [12798512]     Ответить | Цитировать Сообщить модератору
 Re: Создание таблиц из хранимой процедуры  [new]
Ken@t
Member

Откуда: 大地
Сообщений: 3264
alexeyvg,

И ч0? Делаем представления с instead of триггером. Сомневаюсь, что криворукое приложение проверяет тип объекта.
30 июн 12, 15:25    [12798543]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить