2
我想爲MSSQL 2008 R2數據庫編寫一個存儲過程。 存儲過程應比較一些值並返回一個位/布爾值。 根據參數(@PlatformCode),程序應選擇正確的檢查。Msg 102,Level 15,State 1,Line 1錯誤的語法靠近'''
但我得到一個錯誤,在我嘗試將結果存儲在輸出變量中的行中。
CREATE PROCEDURE CheckVersion
@PlatformCode nvarchar(4),
@ClientVersion int,
@ConfigId int = 1,
@Response bit OUTPUT
AS
BEGIN
SET NOCOUNT ON;
DECLARE @version int
IF @PlatformCode = 'a'
BEGIN
SET @version = (SELECT aVersion FROM AppConfigTable WHERE ConfigID = @ConfigId)
SET @Response = (@version <= @ClientVersion)
END
IF @PlatformCode = 'i'
BEGIN
SET @version = (SELECT iVersion FROM AppConfigTable WHERE ConfigID = @ConfigId)
SET @Response = (@version <= @ClientVersion)
END
END
GO
是否有更好的方法來返回結果?
感謝,更好的方法是很好的。通過這種方式,'IF'後面有一行,所以我可以將'BEGIN'和'END'關閉。它是好的,還是與「美麗的」代碼? – BHuelse
由您決定,您可以將其保留或刪除。我更願意留下它,因爲它清楚地顯示了IF邏輯適用的位置。 –
@BHuelse如果您認爲這是正確的答案,您可否請您將答案標記爲已接受? :)歡呼聲 –