我想准备一个带2个参数的过程(Int,string)如果表格中存在某些行,我会得到@dane = 1;最后我想选择@dane,但我的程序并不好。我不能使用return @dane。
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
主题[已关闭]感谢您的帮助。
答案 0 :(得分:2)
在为变量指定值时,您需要使用SET
或SELECT
。
EXISTS
似乎符合IF
块
@Description
参数未使用且是多余的
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)
BEGIN
SET @dana = 1;
END
SELECT @dana AS ID;
END
GO