2015-11-10 4 views
-1

Мне нужна помощь в определении того, как создать хранимая процедура, которая удалит строки на основе двух параметров.Хранимая процедура SQL Server - удаление строк на основе нескольких параметров

Предположим, у меня есть две одинаковые таблицы, Table1 и Table2 как содержащие столбцы Date, Name и Number. Я хочу удалить строки из Table1 на основе Date и Name и Insert Into Table1From Table2.

По существу я хочу, чтобы работать где-то вдоль линий:

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

, а затем:

Insert Into Table1 
Select * From Table2 

Я не знаком с тем, как хранимые процедуры работают таким образом, я очень ценю помощь.

+0

Это действительно только T-SQL вопрос и на самом деле не имеет ничего чтобы выполнять хранимую процедуру. Просто выполните удаление при объединении, а затем выполните инструкцию insert. – Namrehs

+1

Вы действительно должны попробовать посмотреть документацию для продукта, с которым работаете. Вот как вы создаете процедуру. https://msdn.microsoft.com/en-us/library/ms187926.aspx –

ответ

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 
+0

Это то, что я искал. Спасибо за помощь! –

+0

Добро пожаловать. Рад, что смог помочь. – Amel

Смежные вопросы