我想編寫一個需要2個參數的過程(Int,string)如果表中有一行存在,我會得到@dane = 1;最後我想選擇@dane,但我的程序不好。我不能使用return @dane。MSSQL - 返回選擇
USE [SS]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [permission].[CheckSkill]
(
@SkillId INT, -- Identyfikator użytkownika
@Description NVARCHAR(100) = NULL
)
AS
BEGIN
SET NOCOUNT ON;
DECLARE @dana as int
SET @dana = 0
-- this is redundant:
--SET @Description = RTRIM(LTRIM(ISNULL(@Description,'')))
IF EXISTS (SELECT * FROM permission.UserXSkill Where permission.UserXSkill.SkillId = @SkillId)
BEGIN
SET @dana = 1;
END
SELECT @dana AS ID;
END
GO
主題[關閉]感謝您的幫助。
你有一個錯字 - 你聲明的變量'@ dana'然後設置變量' @ dane'。當爲變量賦值時也必須使用'SET'或'SELECT'。 –
@Ed Harper我改變了這個。這是我的錯誤。 –