Существует множество способов создания пользовательского интерфейса, который может принимать пользовательский ввод. Это может быть предметом другого вопроса.
Как отмечают другие комментаторы, учитывайте риск безопасности при непосредственном приеме пользовательского ввода, поэтому крайне важно санировать данные на нескольких уровнях приложения. При этом все приложения, управляемые данными, должны принимать пользовательские данные и действовать в соответствии с ними. Это не невозможно, просто важно, чтобы у вас было полное понимание рисков. Потенциальная проблема с принятием пользовательских данных и их обработкой заключается в том, что существует риск, что злой пользователь попытается выполнить свой собственный код в вашей базе данных и удалить таблицы, извлечь конфиденциальные данные или другие неприятные вещи. Если все приложение не защищено совместным брандмауэром, это задача не для тех, кто не обладает значительным опытом в области безопасности.
Тем не менее, простейшим пользовательским интерфейсом было бы, чтобы внутренний и доверенный пользователь установил что-то вроде студии управления SQL-сервером, а затем предоставил им сценарии .sql, которые вызывают хранимую процедуру. Этот метод - только то, что я мог бы порекомендовать для доверенного пользователя, который является несколько техническим.
вы создаете процедуру, подобную этой:
create procedure AddNumbers
@augend int,
@addend int
as
/*
if all the input that you are accepting is numeric
it is somewhat safer as long as you use int or numeric datatypes from the start.
I would stay away from using any alphanumeric data in a function like this
without running it through some validation with a regular expression or other method.
*/
select @augend+@addend
и затем проинструктировать вашего пользователя, чтобы он назывался так
execute AddNumbers
@augend = 4,
@addend = 5
далее вы можете создать пользовательский интерфейс, который вызывает эту процедуру и дает результат. Но вам нужно будет тщательно оценить необходимый доступ и безопасность.