Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 需要使用存储过程中的参数执行SQL插入的帮助吗_Sql Server_Stored Procedures_Insert - Fatal编程技术网

Sql server 需要使用存储过程中的参数执行SQL插入的帮助吗

Sql server 需要使用存储过程中的参数执行SQL插入的帮助吗,sql-server,stored-procedures,insert,Sql Server,Stored Procedures,Insert,我不确定语法是否正确..但我想要的是传递查询2个参数:Article和UserID..插入这两个参数,然后插入页码..基本上得到Article ID的计数并除以5。。。我找不到一个别扭的号码。我还希望这个数字是一个整数。。(所以不是1/5而是0..9/5,而是1) 以上更新 它告诉我声明UsersID..syntax error我不了解页码的来源。但至少,insert语句的结构不正确,应该如下所示: ALTER PROCEDURE dbo.Articles_InsertArticle

我不确定语法是否正确..但我想要的是传递查询2个参数:Article和UserID..插入这两个参数,然后插入页码..基本上得到Article ID的计数并除以5。。。我找不到一个别扭的号码。我还希望这个数字是一个整数。。(所以不是1/5而是0..9/5,而是1)

以上更新


它告诉我声明UsersID..syntax error

我不了解页码的来源。但至少,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

我猜了一下你要找的页码,但是我们可能需要更多的信息。

上面说我必须声明scaler用户ID…但是声明了..hmn请注意,这将获得插入新记录之前的文章数--如果这是有意的还是无意的话。如果您需要post计数,则需要在
计数中添加一个。为什么它会告诉我UsersID未声明?仍然会告诉我UsersID需要声明。我在变量之间缺少逗号。立即更正它Floor(count(*)/5)将确保PageNumber为int(尽管取决于平台,它可能会返回一个int)这是一个页码..您需要的更多信息。这是一个字段..我认为在您的计数下..我很可能会得到一个异常…因为几乎所有我能想到的平台都会出现双精度计数()返回一个整数,5是一个整数,整数除以整数就是一个整数。至于页码,它应该是整个表中所有页码的计数吗?只是那些符合特定条件的页码的计数?哈哈…德里克..为什么要使用where子句..我想你把我弄丢了一点我不知道你为什么选择嘲笑一个试图elp您解决了一个描述不好的问题当您从文章中计算articleid时,您将只获得文章中所有记录的计数,而不是任何特定文章的计数。我无法想象这是您想要的。您可能应该删除ASP.NET标记,因为这似乎与ASP.NET无关。
insert into Articles(UsersID, Article, PageNumber)
select @UsersID, @Article, count(*) / 5
FROM Articles
WHERE Article = @Article
INSERT INTO Articles (UsersID,Article,PageNumber) 
VALUES (@UsersID, @Article, ROUND(SELECT COUNT(ArticleID)/5 FROM Articles),0)