Sql_Lover_rahul_Singh Ответов: 1

Как добавить столбец в таблицу с помощью хранимой процедуры ?


Привет я хочу добавить столбец в таблицу с помощью хранимой процедуры но когда я пытаюсь получить ошибку

Msg 214, Уровень 16, состояние 2, процедура sp_executesql, строка 1
Процедура ожидает параметр @statement; типа; ntext/nchar/nvarchar;

Что я уже пробовал:

alter proc SpgetEMP
as
begin
exec sp_executeSQL  'alter table emp add adrs varchar(20) null'
end

Richard Deeming

Эта процедура будет работать только однажды Как только он заработает, при следующем вызове вы получите сообщение об ошибке, сообщающее вам, что столбец уже существует.

Изменение структуры базы данных из хранимой процедуры почти всегда является признаком плохого дизайна.

И Вы приложение должны нет подключайтесь как пользователь, имеющий разрешения на изменение структуры базы данных. Он должен подключаться как пользователь, имеющий минимальные разрешения, необходимые для запуска вашего приложения.

1 Ответов

Рейтинг:
9

manu_dhobale

Измените Proc, как показано ниже

declare @statement as nvarchar(100);
set @statement='alter table emp add adrs varchar(20) null'
exec sp_executeSQL @statement


Sql_Lover_rahul_Singh

Благодаря его работе :)