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

Откуда: Минск
Сообщений: 4
CREATE PROCEDURE[dbo].[InsColumn]
(@ColumnName VARCHAR(50) - параметр)
AS
BEGIN
ALTER TABLE [Group- имя таблицы]
ADD [ Имя новой колонки, как сюда вставить параметр - @ColumnName] VARCHAR(50) NULL
END
21 июл 09, 16:34    [7441392]     Ответить | Цитировать Сообщить модератору
 Re: Процедура  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74927
https://www.sql.ru/faq/faq_topic.aspx?fid=104

ЗЫ. И в чем смысл такой процедуры?!
21 июл 09, 16:36    [7441409]     Ответить | Цитировать Сообщить модератору
 Re: Процедура  [new]
Паганель
Member

Откуда: Винница
Сообщений: 22552
хранимка занимается изменением структуры БД
мама дорогая...

автор, подумайте над постановкой задачи
21 июл 09, 16:36    [7441412]     Ответить | Цитировать Сообщить модератору
 Re: Процедура  [new]
Vladkomir
Member

Откуда: Минск
Сообщений: 4
pkarklin, Благодарю за ссылку.
21 июл 09, 17:29    [7441689]     Ответить | Цитировать Сообщить модератору
 Re: Процедура  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74927
Vladkomir
pkarklin, Благодарю за ссылку.


Не стОит благодарностей. Если Вы таким образом хотите обойти невозможность обычному пользователю без прав владельца объекта модифицировать структур таблицы, то Вас постигнет разочарование.
21 июл 09, 17:32    [7441702]     Ответить | Цитировать Сообщить модератору
 Re: Процедура  [new]
Vladkomir
Member

Откуда: Минск
Сообщений: 4
pkarklin, Да нет задача состит в том как только в базе появляется новая
таблица, в другую таблицу добавлять колонку с именем этой новой таблицы.
21 июл 09, 17:48    [7441806]     Ответить | Цитировать Сообщить модератору
 Re: Процедура  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 36799
Vladkomir
pkarklin, Да нет задача состит в том как только в базе появляется новая
таблица, в другую таблицу добавлять колонку с именем этой новой таблицы.
Оригинальное решение. Сами придумали или подсказал кто?
21 июл 09, 17:49    [7441818]     Ответить | Цитировать Сообщить модератору
 Re: Процедура  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74927
Vladkomir
pkarklin, Да нет задача состит в том как только в базе появляется новая
таблица, в другую таблицу добавлять колонку с именем этой новой таблицы.


Гм... А зачем это?! Чем Вам метаданных самого сервера не хватает?
21 июл 09, 17:50    [7441821]     Ответить | Цитировать Сообщить модератору
 Re: Процедура  [new]
Glory
Member

Откуда:
Сообщений: 104760
Vladkomir
pkarklin, Да нет задача состит в том как только в базе появляется новая
таблица, в другую таблицу добавлять колонку с именем этой новой таблицы.

И что случится, когда этих таблиц станет больше чем 1024 ?
21 июл 09, 17:51    [7441827]     Ответить | Цитировать Сообщить модератору
 Re: Процедура  [new]
Vladkomir
Member

Откуда: Минск
Сообщений: 4
pkarklin, Пишу на dotnet надо проабдэйтить DataSet со вставкой новых колонок.
Не апдэйтит поэтому решил с сервера вызвать процедуру.
21 июл 09, 18:12    [7441956]     Ответить | Цитировать Сообщить модератору
 Re: Процедура  [new]
Паганель
Member

Откуда: Винница
Сообщений: 22552
DataSet - это такой объект, существующий где-то в памяти клиентского приложения, так ведь?
И как процедура с сервера на клиент проникнет и что-то там "проабдейтит" ?
21 июл 09, 18:15    [7441973]     Ответить | Цитировать Сообщить модератору
 Re: Процедура  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74927
Vladkomir
pkarklin, Пишу на dotnet надо проабдэйтить DataSet со вставкой новых колонок.
Не апдэйтит поэтому решил с сервера вызвать процедуру.


Гм... Я, конечно, не писал на дотнет, все больше на дельфе, но если в клиенте определены в наборе фиксированные столцы, то определить изменение структуры таблицы можно сравнив локальный набор с набором, возвращаемым представлением INFORMATION_SCHEMA.COLUMNS для конкретной таблицы. И не нужно никаких дополнительных городушек.

Но, вот только, мало-мальски серьезное приложение строится, как правило, ненапрямую на таблицах, и перечень полей в датасете определяется не структурой таблицы\таблиц, а построенных на них запросах\представлениях\хп.

И уж вот здесь я не вижу какого-нибудь места для "автоматизации", кроме, пожалуй, атомарных хп INSERT\UPDATE\DELETE\SELECT для каждой таблицы.
21 июл 09, 20:21    [7442337]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить