Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- DELETE from MyRecords
- WHERE tag = 1
- OR tag = 2
- OR longTag = 'LongTag1'
- OR tag = 555
- delete real_table from real_table a
- join u_real_table b on (a.tag = b.tag);
- insert into real_table select *
- from u_real_table where tag is not null;
- delete real_table from real_table a
- join u_real_table b on (a.longTag = b.longTag);
- insert into real_table select *
- from u_real_table where longTag is not null;
- delete from u_real_table;
- CREATE TRIGGER dbo.TR_MyTable_Merge
- ON dbo.MyTable
- INSTEAD OF INSERT
- AS
- BEGIN
- SET NOCOUNT ON;
- BEGIN TRANSACTION
- DELETE MyTable
- FROM MyTable t INNER JOIN inserted i ON t.tag = i.tag
- DELETE MyTable
- FROM MyTable t INNER JOIN inserted i ON t.longTag = i.longTag
- INSERT MyTable
- SELECT * FROM inserted
- COMMIT TRANSACTION
- SET NOCOUNT OFF;
- END
- DELETE FROM MyRecords
- WHERE tag IN (1, 2, 555) -- build a list
- OR longTag IN ('LongTag1')
- DELETE from MyRecords
- WHERE tag = 1
- DELETE from MyRecords
- WHERE tag = 2
- DELETE from MyRecords
- WHERE tag = 555
- DELETE from MyRecords
- WHERE longTag = 'LongTag1'
- DECLARE @tag TABLE (id INT);
- DECLARE @longTag TABLE (id VARCHAR(50));
- INSERT
- INTO @tag
- VALUES (`tag1`)
- INSERT
- INTO @tag
- VALUES (`tag2`)
- /* ... */
- INSERT INTO @longTag
- VALUES ('LongTag1')
- /* ... */
- DELETE
- FROM MyRecords r
- WHERE r.tag IN (SELECT * FROM @tag)
- OR r.longTag IN (SELECT * FROM @longTag)
- DELETE
- FROM MyRecords r
- WHERE r.tag IN (SELECT * FROM @tag)
- DELETE
- FROM MyRecords r
- WHERE r.longTag IN (SELECT * FROM @longTag)
Add Comment
Please, Sign In to add comment