mssql存储过程明明满足了if判断,为什么进不到if语句里面

ALTER PROCEDURE [dbo].[AddArticle]
@title NVARCHAR(500),
@tshouzimu NVARCHAR(200),
@tquanpin NVARCHAR(500),
@keyword NVARCHAR(500),
@kshouzimu NVARCHAR(200),
@kquanpin NVARCHAR(500),
@content TEXT
AS
BEGIN
DECLARE @kid INT
DECLARE @tid INT
SET @tid = (SELECT id FROM keyword WHERE yuanwen=@title)
IF(@@ROWCOUNT<=0)
BEGIN
INSERT INTO keyword VALUES(@title,@tshouzimu,@tquanpin,1)
SET @tid = SCOPE_IDENTITY()
END
SET @kid = (SELECT id FROM keyword WHERE yuanwen=@keyword)
IF(@@ROWCOUNT<=0)
BEGIN
INSERT INTO keyword VALUES(@keyword,@kshouzimu,@kquanpin,1)
SET @kid = SCOPE_IDENTITY()
END
INSERT INTO article VALUES(@tid,@kid,@content)
END

你可以调试一下 能看到问题出现在哪里

你这个条件IF(@@ROWCOUNT<=0) 就相当于 IF(@@ROWCOUNT=0)
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-06-09
不进到判断里面去肯定是条件不满足,把你的条件参数print出来看下就知道了。