在SQL Server中,我正在创建一个社交网络数据库,并在响应请求时出错

 手机用户2502902993 发布于 2023-02-10 22:58

我想创建一个存储过程来响应朋友请求,但这给了我一个语法错误

CREATE PROC RESPOND_REQUEST @id1   INTEGER,
                            @id2   INTEGER,
                            @reply BIT
AS
  BEGIN
      SELECT R
      FROM   Requests R
      WHERE  r.reciever_id = @id1
             AND r.sender_id = @id2

      SET R.reply = @reply
  END 

Aaron Bertra.. 5

也许程序应该是:

CREATE PROCEDURE dbo.RESPOND_REQUEST -- always use dbo prefix
  @id1 INT, 
  @id2 INT, 
  @reply BIT
AS
BEGIN
  SET NOCOUNT ON;

  UPDATE dbo.Requests -- always use dbo prefix
    SET reply = @reply
    WHERE reciever_id = @id1 -- fix this typo - i before e, except after c
      AND sender_id = @id2;
END
GO

关于dbo前缀.

此外,您应该重命名参数,而不是通用@id1,@id2为什么不调用它们是什么,@receiver_id并且@sender_id?只是给他们数字似乎不必要地混淆.

1 个回答
  • 也许程序应该是:

    CREATE PROCEDURE dbo.RESPOND_REQUEST -- always use dbo prefix
      @id1 INT, 
      @id2 INT, 
      @reply BIT
    AS
    BEGIN
      SET NOCOUNT ON;
    
      UPDATE dbo.Requests -- always use dbo prefix
        SET reply = @reply
        WHERE reciever_id = @id1 -- fix this typo - i before e, except after c
          AND sender_id = @id2;
    END
    GO
    

    关于dbo前缀.

    此外,您应该重命名参数,而不是通用@id1,@id2为什么不调用它们是什么,@receiver_id并且@sender_id?只是给他们数字似乎不必要地混淆.

    2023-02-10 23:13 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有