Я пытаюсь вставить несколько значений в таблицу с помощью инструкции EXECUTE
.SQL Server INSERT INTO с использованием EXECUTE
Я нашел несколько примеров, однако они не отвечают на мой вопрос.
Примечание: источники, приведенные ниже, являются кодом процедуры. Все упомянутые переменные были объявлены и инициализированы.
Первый способ я пробовал:
результаты в:
Error: Procedure or function has too many arguments specified.
И я полностью понимаю, почему я получаю это. Потому что sp_executesql
не позволяет иметь более 4 аргументов, и он не может распознать, что происходит где.
Вторая попытка (где я только хочу, чтобы получить выход с помощью выполнить запрос в переменную, а затем положить, что в таблицу):
И я получаю:
Must declare scalar variable "@crlf"
и фактически эта переменная объявлена в верхней части этой процедуры, но для меня это не так понятно, почему она все еще жалуется ...
Каким будет наиболее подходящий способ получить оператор выполнения и число (дополнительное значение) в таблице?
во второй части и в декларации ПОР вы не определяете @ crlf..то почему возникает ошибка. ОК. Вы хотите вставить с выводом exec, правильно? – Ajay2707
@ Ajay2707, пожалуйста, не самый код в качестве изображений. –
извините за недостаточную информацию, которую я предоставил. весь этот код находится в хранимой процедуре, а переменная '@ crlf' объявлена в верхней части. И вот почему меня смущает ... –