How to Enable, Disable and Drop a Foreign Key

Last updated on Dec 19 2021
Amit Warghade

Table of Contents

How to Enable, Disable and Drop a Foreign Key

ALTER TABLE statement is used to enable a foreign key in SQL Server.

Syntax:

  1. ALTER TABLE table_name
    CHECK CONSTRAINT fk_name;

Parameter Explanation

table_name: It specifies the name of the table where the foreign key has been created.

fk_name: It specifies the name of the foreign key that you wish to disable.

Example:

We have disabled the foreign key in previous example, now enable the foreign key.

  1. ALTER TABLE inventory
    CHECK CONSTRAINT fk_inv_product_id;

Output:

Page 1 Image 1 22
foreign key

Now the foreign key is enabled.

Disable Foreign Key

ALTER TABLE statement is used to disable a foreign key. Once you have created a foreign key in SQL Server, you may get a situation where you are want to disable the foreign key, use the following syntax.

Syntax:

  1. ALTER TABLE table_name
    NOCHECK CONSTRAINT fk_name;

Parameter explanation

table_name: It specifies the name of the table where the foreign key has been created.

fk_name: It specifies the name of the foreign key that you wish to disable.

Example:

Create a foreign key by creating two tables “products3” and “inventory” table.

  1. CREATE TABLE products3
    ( product_id INT PRIMARY KEY,
    product_name VARCHAR(50) NOT NULL,
    category VARCHAR(25));
    CREATE TABLE inventory3
    ( inventory_id INT PRIMARY KEY,
    product_id INT NOT NULL,
    quantity INT,
    min_level INT,
    max_level INT,
    CONSTRAINT fk_inv_product_id
    FOREIGN KEY (product_id)
    REFERENCES products3 (product_id)
    );

Now use the following command to disable the foreign key where foreign constraint is:

fk_inv_product_id.

  1. ALTER TABLE [tecklearn].[dbo].[inventory]
    NOCHECK CONSTRAINT fk_inv_product_id;

Output:

Page 3 Image 2 7
foreign constraint

Now the foreign key is disabled.

Drop a Foreign Key

ALTER TABLE statement is used to drop a foreign key from a table once it has been created.

Syntax:

  1. ALTER TABLE table_name
    DROP CONSTRAINT fk_name;

Parameter explanation

table_name: It specifies the name of the table where the foreign key has been created.

fk_name: It specifies the name of the foreign key that you want to remove.

Example:

In the previous example we have seen how to create a foreign key.

  1. CREATE TABLE products
    ( product_id INT PRIMARY KEY,
    product_name VARCHAR(50) NOT NULL,
    category VARCHAR(25));
    CREATE TABLE inventory
    ( inventory_id INT PRIMARY KEY,
    product_id INT NOT NULL,
    quantity INT,
    min_level INT,
    max_level INT,
    CONSTRAINT fk_inv_product_id
    FOREIGN KEY (product_id) REFERENCES products (product_id));

Use the following command to drop the foreign key called fk_inv_product_id.

  1. ALTER TABLE [tecklearn].[dbo].[inventory]
    DROP CONSTRAINT fk_inv_product_id;

Output:

Page 5 Image 3 2
drop a foreign key

Now the foreign key is dropped.

So, this brings us to the end of blog. This Tecklearn ‘How to Enable, Disable and Drop a Foreign Key’ blog helps you with commonly asked questions if you are looking out for a job in MS-SQL Server. If you wish to learn MS-SQL Server and build a career in Database domain, then check out our interactive, MS-SQL Server Training, that comes with 24*7 support to guide you throughout your learning period. Please find the link for course details:

https://www.tecklearn.com/course/ms-sql-server-training-and-certification-course/

MS-SQL Server Training

About the Course

Microsoft SQL Server training course is an online classroom training meant for developers to master the descriptive language to work for relational databases. Important topics included in this SQL course are SQL introduction, relational databases, queries, subqueries, joins, and unions. After completing this course, you will also become proficient in the theory of optimization, transactions, indexing, installing SQL Server, database administration, clustering, implementing programmability objects, designing and implementing database objects, managing database concurrency, and optimizing SQL infrastructure and database objects.

Why Should you take MS-SQL Server Training?

  • The average salary for Sql server developer ranges from approximately $88,666 per year for Database Developer to $115,811 per year for Senior SQL Developer. – Indeed.com
  • Wells Fargo, UPS, US Bank, Perspecta, Silicon Valley Bank, Mindtree Wipro, Infosys & many other MNC’s worldwide use MS SQL Server for their Database deployments.
  • According to Gartner, MS SQL Server is the market leader in the Relational Database with 18.5% market share globally.

What you will Learn in this Course?

Introduction to SQL

  • Various types of databases
  • Introduction to SQL
  • Installation Steps of MS-SQL Server
  • Overview of Microsoft SQL Server Management Studio
  • SQL architecture, client/server relation
  • Database types

Introduction to relational databases, basic concepts of relational tables

  • Working with rows and columns
  • Various operators used like logical and relational
  • Constraints, Primary Key and Foreign Key
  • Insert, Update, Delete, Alter

Working with SQL: Join, Tables, and Variables

  • SQL Operators and Queries
  • SQL functions
  • Creation of Table
  • Retrieval of Data from tables
  • Combining rows from tables using joins
  • Operators such as intersect, except, union, temporary table creation, set operator rules, table variables etc

Deep Dive into SQL Functions

  • Data Retrieval Language
  • Functions
  • Operators
  • Clauses
  • Sub-Queries
  • Correlated Sub-Queries

SQL Views, Functions

  • Sub-queries
  • Views
  • Indexes

Managing Data with Transact-SQL

  • Transact-SQL queries
  • Implementing functions and aggregating data
  • Determining the results of DDL statements on supplied tables and data

Cursor Management and Triggers

  • Cursors
  • Triggers
  • Types of Triggers

Stored Procedures and User Defined functions

  • Understanding of Stored Procedures
  • Key benefits of Stored Procedures
  • Studying user-defined functions

Deep Dive into User-defined Functions

  • Detailed study of user-defined functions
  • Various types of UDFs like Scalar, Inline Table Value, multi-statement Table
  • What is Rank Function? Triggers, when to execute Triggers?

SQL Optimization and Performance

  • Concepts of Concurrency and Locking behaviour
  • Usage of memory-optimized tables to solve issues
  • Examining and Troubleshooting of query plans
  • Performance management of Database instances
  • SQL server Performance Monitoring

Got a question for us? Please mention it in the comments section and we will get back to you.

 

0 responses on "How to Enable, Disable and Drop a Foreign Key"

Leave a Message

Your email address will not be published. Required fields are marked *