SQL Server存储过程 - 基于多个参数删除行

时间:2015-11-10 20:17:03

标签: sql sql-server tsql stored-procedures

我需要帮助弄清楚如何构建一个基于两个参数删除行的存储过程。

假设我有两个相同的表,Table1Table2都包含DateNameNumber列。我想根据Table1Date以及Name Insert Into Table1From Table2删除行。

基本上我希望它能够在以下几个方面发挥作用:

Delete From Table1
Where (Table1.Date = Table2.Date) AND (Table1.Name = Table2.Name)

然后:

Insert Into Table1
Select * From Table2

我不熟悉存储过程的工作原理,所以我非常感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

创建此类过程的查询如下:

CREATE PROCEDURE DummyProc 
    @Date DATE, 
    @Name VARCHAR(20) --Or NVARCHAR if you have UNICODE data
AS
BEGIN
    DELETE FROM Table_1
    WHERE Table_1.Date = @Date AND Table_1.Name= @Name

    INSERT INTO Table_1
    SELECT Date, Name, Number --You can specify columns
    FROM Table_2
END
GO

用于执行查询:

EXEC dbo.DummyProc 'enter Date here', 'enter Name here';
GO