title: SQL Server - Delete unused rows
body: <p>I need to get stored procedure (not standart, only custom) to delete unused rows table (table1) and some other tables (table2, table3, table4...- <strong>we don't know how many tables refers to table1 by FOREIGN KEY CONSTRAINT</strong>) can refers to this table.</p>
  
  <p>For example:</p>
  
  <pre><code>СREATE PROCEDURE [dbo].[delete_on_constraints]
  @table varchar(36) – table name we need to delete unused rows
  @column varchar(36) – column name - primary key, on which other tables refers by FOREIGN KEY CONSTRAINT
  </code></pre>
  
  <p>There are the table1 and table2, table3 which  refers to  table1 (remind, we don't know how many tables refers to table1 by FOREIGN KEY CONSTRAINT)</p>
  
  <pre><code>CREATE TABLE [table1] (
      [id] [int] IDENTITY (1, 1) NOT NULL CONSTRAINT [PK_ table1] PRIMARY KEY,
      [value] [int] NULL 
  )
  GO
  
  CREATE TABLE [table2] (
      [id] [int] IDENTITY (1, 1) NOT NULL CONSTRAINT [PK_ table2] PRIMARY KEY,
      [table1_id] [int] NOT NULL ,
         CONSTRAINT [FK_ table2_ table1] FOREIGN KEY ([table1_id]) REFERENCES [table1] ( [id] ) 
  ) 
  GO 
  
  CREATE TABLE [table3] (
      [id] [int] IDENTITY (1, 1) NOT NULL CONSTRAINT [PK_ table3] PRIMARY KEY,
      [table1_id] [int] NOT NULL ,
         CONSTRAINT [FK_ table3_ table1] FOREIGN KEY ([table1_id]) REFERENCES [table1] ( [id] ) 
  )
  
  GO 
  INSERT INTO [table1] VALUES (100)
  INSERT INTO [table1] VALUES (200)
  INSERT INTO [table1] VALUES (300)
  INSERT INTO [table1] VALUES (400)
  
  GO
  INSERT INTO [table2] VALUES (1)
  INSERT INTO [table2] VALUES (3)
  
  GO
  INSERT INTO [table3] VALUES (1)
  INSERT INTO [table3] VALUES (2)
  INSERT INTO [table3] VALUES (3)
  </code></pre>
  
  <p>There are rows in tables <strong>before</strong> call stored procedure</p>
  
  <pre><code>table1
  id value
  1 100
  2 200
  3 300
  4 400
  
  table2
  id table1_id
  1 1
  2 3
  
  table3
  id table1_id
  1 1
  2 2
  3 3
  </code></pre>
  
  <p>And <strong>after</strong> [dbo].[delete_on_constraints] ‘table1’ ‘id’ procedure call</p>
  
  <pre><code>table1
  
  id       value
  1        100
  2        200
  3        300
  </code></pre>