Я пытаюсь создать хранимую процедуру с использованием T-SQL для вставки переменных в таблицу. Используя метод, о котором я знаю, вы объявляете переменные при создании хранимой процедуры, но я считаю, что можно объявить переменные как часть инструкции exec, чтобы сделать динамическую вставку. Я googled и googled и googled и не могу найти что-нибыдь которое поддерживает это.T-SQL Хранимая процедура, объявляющая переменные в exec
Вот мой пример кода, как он стоит со статическими переменными:
create procedure spInsert as
declare @insertValueOne varchar(5) = 'Test1'
declare @insertValueTwo varchar(5) = 'Test2'
declare @insertValueThree varchar(5) = 'Test3'
declare @insertValueFour varchar(5) = 'Test4'
begin
insert into testTable
(ValueOne, ValueTwo, ValueThree, ValueFour)
values
(@insertValueOne, @insertValueTwo, @insertValueThree, @insertValueFour)
end
exec spInsert
То, что я пытаюсь достичь, это ситуация, в которой я могу можно использовать сценарий выполнения, как это, например:
exec spInsert('Test1', 'Test2', 'Test3', 'Test4')
Вместо создания статических переменных в процедуре. Предоставление пользователю возможности выполнять хранимую процедуру без внесения изменений в ее содержимое.
Имеет ли это смысл? Любые идеи?
Я думаю, вам просто нужно удалить скобки. –
скобки после exec spInsert? будет ли он просто вставлять мои переменные в последовательный порядок, в котором они были объявлены? thx – roastbeeef