SQL Server存储过程-基于多个参数删除行
我需要帮助了解如何构建一个基于两个参数删除行的存储过程 假设我有两个相同的表,SQL Server存储过程-基于多个参数删除行,sql,sql-server,tsql,stored-procedures,Sql,Sql Server,Tsql,Stored Procedures,我需要帮助了解如何构建一个基于两个参数删除行的存储过程 假设我有两个相同的表,Table1和Table2都包含列Date,Name,和Number。我想根据日期和名称删除表1中的行,并将插入表2的表1 基本上,我希望它在以下方面发挥作用: Delete From Table1 Where (Table1.Date = Table2.Date) AND (Table1.Name = Table2.Name) 然后: Insert Into Table1 Select * From Table2
Table1
和Table2
都包含列Date
,Name
,和Number
。我想根据日期和名称删除表1
中的行,并将插入表2的表1
基本上,我希望它在以下方面发挥作用:
Delete From Table1
Where (Table1.Date = Table2.Date) AND (Table1.Name = Table2.Name)
然后:
Insert Into Table1
Select * From Table2
我不熟悉存储过程的工作原理,因此非常感谢您的帮助。创建此类过程的查询如下:
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
这实际上只是一个T-SQL问题,与存储过程没有任何特定关系。只需在join上执行delete,然后执行insert语句。您确实应该查看您正在使用的产品的文档。下面是创建过程的方法。这就是我要找的。谢谢你的帮助!