2011-08-03 55 views
0

我想知道這是否是一種好的做法。我有一個使用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 
+0

對我來說似乎很好 –

回答

2

讓代碼層設置消息文本通常被認爲是最佳實踐,因爲這允許代碼的未來維護者明確地遵循預期的邏輯。

1

,如果你有一個更好的例子會更容易;你使用的那個肯定會給我帶來一定程度的性能開銷,我不會感到滿意!

通常,SQL函數更適合返回'標量'值。我建議你熟悉這些。

2

不,它不是。這是一個可怕的做法。如果您需要支持多種語言或多種顯示格式,會怎樣?除此之外,當項目變大時,當演示邏輯的一部分駐留在DATABASE上時,您將開始感到困惑!和客戶端的一些部分。只需從數據庫中返回DATA即可。