Sql server 使用存储过程进行验证

Sql server 使用存储过程进行验证,sql-server,stored-procedures,Sql Server,Stored Procedures,我尝试过在SQL Server中使用存储过程进行验证。但是存储过程不工作 我有一张桌子房间。我从房间的桌子上拿到了备用的房间。我尝试在SQL Server中使用存储过程进行验证,当room表记录大于room backup表记录时,我需要重写room backup表。我尝试了以下代码,但不起作用 CREATE PROC Sp_verify AS IF (SELECT Count() FROM Room) > (SELECT Count()

我尝试过在SQL Server中使用存储过程进行验证。但是存储过程不工作

我有一张桌子
房间
。我从房间的桌子上拿到了备用的房间。我尝试在SQL Server中使用存储过程进行验证,当
room
表记录大于room backup表记录时,我需要重写room backup表。我尝试了以下代码,但不起作用

CREATE PROC Sp_verify
AS
    IF (SELECT Count()
        FROM   Room) > (SELECT Count()
                        FROM   RoomBackup)
      BEGIN
          DELETE RoomBackup;

          INSERT INTO RoomBackup
                      (R_No,
                       R_Type,
                       R_stus,
                       AP_No,
                       P_Name,
                       R_Charge)
          SELECT R_No,
                 R_Type,
                 R_stus,
                 AP_No,
                 P_Name,
                 R_Charge
          FROM   Room;
      END 

请帮助我修改以下程序:

IF ((SELECT Count(1)
        FROM   Room) > (SELECT Count(1)
                        FROM   RoomBackup))
      BEGIN
          DELETE RoomBackup;

          INSERT INTO RoomBackup
                      (R_No,
                       R_Type,
                       R_stus,
                       AP_No,
                       P_Name,
                       R_Charge)
          SELECT R_No,
                 R_Type,
                 R_stus,
                 AP_No,
                 P_Name,
                 R_Charge
          FROM   Room;
      END 

Count
函数需要一个参数。
if
子句也需要用括号括起来。首先,为什么您的过程命名为
Sp_
?以下是您不应该在存储过程中以
Sp_
作为前缀的原因: