Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SQL Server存储过程-基于多个参数删除行_Sql_Sql Server_Tsql_Stored Procedures - Fatal编程技术网

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语句。您确实应该查看您正在使用的产品的文档。下面是创建过程的方法。这就是我要找的。谢谢你的帮助!