Хранимая процедура, возвращающая строковые значения - PullRequest
0 голосов
/ 03 августа 2011

Мне интересно, хорошая ли это практика или нет. У меня есть база данных с несколькими хранимыми процедурами, которые я запускаю, используя приложение C#.

Рекомендуется ли возвращать сообщения из хранимых процедур, которые могут быть непосредственно показаны пользователю приложения?

Например:

CREATE PROCEDURE CheckParam

@Param int,
AS
 BEGIN

IF (@Parem > 0)
 BEGIN              
    SELECT 'Parameter is greater than 0'
 END
ELSE SELECT 'Parameter is smaller than 0' 
END

Ответы [ 3 ]

2 голосов
/ 03 августа 2011

Как правило, рекомендуется, чтобы уровень кода устанавливал текст сообщения, поскольку это позволяет будущим разработчикам кода четко следовать намеченной логике.

2 голосов
/ 03 августа 2011

Нет, это не так. Это ужасная практика. Что делать, если вам нужно поддерживать несколько языков или несколько форматов отображения. Кроме того, когда проект становится больше, вы начинаете путаться, когда некоторая часть логики представления находится на DATABASE !!! , а некоторые части на стороне клиента. Просто верните данные из базы данных и ничего более.

1 голос
/ 03 августа 2011

Было бы проще, если бы у вас был лучший пример;тот, который вы использовали, определенно наложил бы уровень производительности, который я бы не удовлетворил!

Обычно функции SQL лучше подходят для возврата «скалярных» значений.Я предлагаю вам ознакомиться с ними.

...