> ## Content Index
> Fetch the complete content index at: https://blog.tsd.digital/llms.txt
> Use this file to discover other available public pages before exploring further.

# Remove uCommerce Product Definition Field in SQL
- URL: https://blog.tsd.digital/remove-ucommerce-product-definition-field-in-sql/
- Published: 2011-03-03T08:11:10.000Z
- Updated: 2011-03-03T08:11:10.000Z
- Author: Tim Gaunt
- Tags: Ucommerce, Useful Script, SQL, Umbraco, Web Development, The Site Doctor, #Import 2025-04-01 05:37

Sometimes you need to remove a product definition field from [uCommerce](http://www.ucommerce.dk/?ref=blog.tsd.digital) e.g. one created in a test environment. Although you can just right click and click "delete" within the administration area, this sometimes doesn't work e.g. when it's a pre-release so this is a simple script which allows you to remove a product definition field from the database.

USE \[YourDatabaseName\] GO BEGIN TRANSACTION -- Get a list of the current product definitions SELECT \* FROM dbo.uCommerce\_ProductDefinition DECLARE @ProductDefinitionId int, @ProductDefinitionFieldId int SET @ProductDefinitionId = 23 -- Check that this is the right product definition SELECT \* FROM dbo.uCommerce\_ProductDefinition WHERE ProductDefinitionId = @ProductDefinitionId -- Get a break down of the various fields for the product definition SELECT \* FROM dbo.uCommerce\_ProductDefinitionField WHERE ProductDefinitionId = @ProductDefinitionId -- Set the field id SET @ProductDefinitionFieldId = 40 -- Check the right field and descriptions will be removed SELECT \* FROM dbo.uCommerce\_ProductDefinitionField f INNER JOIN dbo.uCommerce\_ProductDefinitionFieldDescription d ON f.ProductDefinitionFieldId = d.ProductDefinitionFieldId WHERE f.ProductDefinitionId = @ProductDefinitionId AND f.ProductDefinitionFieldId = @ProductDefinitionFieldId SELECT \* FROM dbo.uCommerce\_ProductDefinitionField f INNER JOIN dbo.uCommerce\_ProductProperty p ON f.ProductDefinitionFieldId = p.ProductDefinitionFieldId WHERE f.ProductDefinitionId = @ProductDefinitionId AND f.ProductDefinitionFieldId = @ProductDefinitionFieldId SELECT \* FROM dbo.uCommerce\_ProductDefinitionField WHERE ProductDefinitionId = @ProductDefinitionId AND ProductDefinitionFieldId = @ProductDefinitionFieldId -- Remove any product property definitions DELETE p FROM dbo.uCommerce\_ProductDefinitionField f INNER JOIN dbo.uCommerce\_ProductProperty p ON f.ProductDefinitionFieldId = p.ProductDefinitionFieldId WHERE f.ProductDefinitionId = @ProductDefinitionId AND f.ProductDefinitionFieldId = @ProductDefinitionFieldId -- Remove any associated descriptions DELETE d FROM dbo.uCommerce\_ProductDefinitionField f INNER JOIN dbo.uCommerce\_ProductDefinitionFieldDescription d ON f.ProductDefinitionFieldId = d.ProductDefinitionFieldId WHERE f.ProductDefinitionId = @ProductDefinitionId AND f.ProductDefinitionFieldId = @ProductDefinitionFieldId -- Remove the field itself DELETE FROM dbo.uCommerce\_ProductDefinitionField WHERE ProductDefinitionId = @ProductDefinitionId AND ProductDefinitionFieldId = @ProductDefinitionFieldId ROLLBACK TRANSACTION -- When you're happy, uncomment this line --COMMIT TRANSACTION