我需要帮助弄清楚如何构建一个基于两个参数删除行的存储过程。
假设我有两个相同的表,Table1
和Table2
都包含Date
,Name
和Number
列。我想根据Table1
和Date
以及Name
Insert Into Table1
从From Table2
删除行。
基本上我希望它能够在以下几个方面发挥作用:
Delete From Table1
Where (Table1.Date = Table2.Date) AND (Table1.Name = Table2.Name)
然后:
Insert Into Table1
Select * From Table2
我不熟悉存储过程的工作原理,所以我非常感谢您的帮助。
答案 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