需要帮助在存储过程中使用参数执行SQL插入

时间:2011-07-27 14:52:29

标签: sql-server stored-procedures insert

ALTER PROCEDURE dbo.Articles_InsertArticle

    @Article nvarchar(MAX),
    @UsersID uniqueidentifier
AS
    INSERT INTO Articles 
          (UsersID,Article,PageNumber)
    SELECT @UsersID,
           @Article,
           floor(COUNT(ArticleID)/5)
      FROM Articles

我不确定语法是否正确..但我想要的是传递查询2个参数:Article和UserID..insert两者,然后插入页码。基本上得到文章ID的分数和除法到5 ...我不能得到一个尴尬的数字。我也希望数字是一个整数...(所以不是1/5但是0..不是9/5,而是1)

上面更新..

它告诉我声明UsersID..syntax错误

2 个答案:

答案 0 :(得分:1)

INSERT INTO Articles (UsersID,Article,PageNumber) 
VALUES (@UsersID, @Article, ROUND(SELECT COUNT(ArticleID)/5 FROM Articles),0)

答案 1 :(得分:0)

我没有关注PageNumber的来源。但至少,insert语句的结构是不正确的,应该如下所示:

insert into Articles(UsersID, Article, PageNumber)
select @UsersID, @Article, count(*) / 5
FROM Articles
WHERE Article = @Article

我猜测了您正在寻找的PageNumber,但我们可能需要更多信息。