<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Foreign Key constraint &#8211; Database Research &amp; Development</title>
	<atom:link href="https://www.dbrnd.com/tag/foreign-key-constraint/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.dbrnd.com</link>
	<description>BIGData &#124; NoSQL &#124; MSSQL &#124; MySQL &#124; PostgreSQL</description>
	<lastBuildDate>Wed, 23 Aug 2017 18:22:57 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.0.6</generator>
	<item>
		<title>SQL Server: Script to find untrusted or invalid Foreign Keys</title>
		<link>https://www.dbrnd.com/2017/09/sql-server-script-to-find-untrusted-or-invalid-foreign-keys/</link>
		
		<dc:creator><![CDATA[Anvesh Patel]]></dc:creator>
		<pubDate>Fri, 01 Sep 2017 16:16:09 +0000</pubDate>
				<category><![CDATA[SQL Server]]></category>
		<category><![CDATA[SQL Server DBA Script]]></category>
		<category><![CDATA[Anvesh Patel]]></category>
		<category><![CDATA[database]]></category>
		<category><![CDATA[database research and development]]></category>
		<category><![CDATA[dbrnd]]></category>
		<category><![CDATA[foreign key]]></category>
		<category><![CDATA[Foreign Key constraint]]></category>
		<category><![CDATA[SQL Query]]></category>
		<category><![CDATA[SQL Server Administrator]]></category>
		<category><![CDATA[SQL Server Error]]></category>
		<category><![CDATA[SQL Server Monitoring]]></category>
		<category><![CDATA[SQL Server Performance Tuning]]></category>
		<category><![CDATA[SQL Server Programming]]></category>
		<category><![CDATA[SQL Server Tips and Tricks]]></category>
		<category><![CDATA[TSQL]]></category>
		<guid isPermaLink="false">https://www.dbrnd.com/?p=6011</guid>

					<description><![CDATA[I already shared an article on how to enable or disable the foreign keys in the SQL Server. Enable and Disable Foreign key and Check constraint in SQL Server Why we require this? To make faster data migration by disabling the foreign key constraint. For example, Now foreign key constraint disabled, and you load/migrate the [&#8230;]]]></description>
										<content:encoded><![CDATA[<p><a class="a2a_button_facebook" href="https://www.addtoany.com/add_to/facebook?linkurl=https%3A%2F%2Fwww.dbrnd.com%2F2017%2F09%2Fsql-server-script-to-find-untrusted-or-invalid-foreign-keys%2F&amp;linkname=SQL%20Server%3A%20Script%20to%20find%20untrusted%20or%20invalid%20Foreign%20Keys" title="Facebook" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_twitter" href="https://www.addtoany.com/add_to/twitter?linkurl=https%3A%2F%2Fwww.dbrnd.com%2F2017%2F09%2Fsql-server-script-to-find-untrusted-or-invalid-foreign-keys%2F&amp;linkname=SQL%20Server%3A%20Script%20to%20find%20untrusted%20or%20invalid%20Foreign%20Keys" title="Twitter" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_linkedin" href="https://www.addtoany.com/add_to/linkedin?linkurl=https%3A%2F%2Fwww.dbrnd.com%2F2017%2F09%2Fsql-server-script-to-find-untrusted-or-invalid-foreign-keys%2F&amp;linkname=SQL%20Server%3A%20Script%20to%20find%20untrusted%20or%20invalid%20Foreign%20Keys" title="LinkedIn" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_pinterest" href="https://www.addtoany.com/add_to/pinterest?linkurl=https%3A%2F%2Fwww.dbrnd.com%2F2017%2F09%2Fsql-server-script-to-find-untrusted-or-invalid-foreign-keys%2F&amp;linkname=SQL%20Server%3A%20Script%20to%20find%20untrusted%20or%20invalid%20Foreign%20Keys" title="Pinterest" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_reddit" href="https://www.addtoany.com/add_to/reddit?linkurl=https%3A%2F%2Fwww.dbrnd.com%2F2017%2F09%2Fsql-server-script-to-find-untrusted-or-invalid-foreign-keys%2F&amp;linkname=SQL%20Server%3A%20Script%20to%20find%20untrusted%20or%20invalid%20Foreign%20Keys" title="Reddit" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_pocket" href="https://www.addtoany.com/add_to/pocket?linkurl=https%3A%2F%2Fwww.dbrnd.com%2F2017%2F09%2Fsql-server-script-to-find-untrusted-or-invalid-foreign-keys%2F&amp;linkname=SQL%20Server%3A%20Script%20to%20find%20untrusted%20or%20invalid%20Foreign%20Keys" title="Pocket" rel="nofollow noopener" target="_blank"></a><a class="a2a_dd addtoany_share_save addtoany_share" href="https://www.addtoany.com/share#url=https%3A%2F%2Fwww.dbrnd.com%2F2017%2F09%2Fsql-server-script-to-find-untrusted-or-invalid-foreign-keys%2F&#038;title=SQL%20Server%3A%20Script%20to%20find%20untrusted%20or%20invalid%20Foreign%20Keys" data-a2a-url="https://www.dbrnd.com/2017/09/sql-server-script-to-find-untrusted-or-invalid-foreign-keys/" data-a2a-title="SQL Server: Script to find untrusted or invalid Foreign Keys"></a></p><p>I already shared an article on how to enable or disable the foreign keys in the SQL Server.</p>
<blockquote data-secret="dSdov48YjQ" class="wp-embedded-content"><p><a href="https://www.dbrnd.com/2015/09/enable-disable-foreign-key-and-check-constraint-in-sql-server/">Enable and Disable Foreign key and Check constraint in SQL Server</a></p></blockquote>
<p><iframe class="wp-embedded-content" sandbox="allow-scripts" security="restricted"  src="https://www.dbrnd.com/2015/09/enable-disable-foreign-key-and-check-constraint-in-sql-server/embed/#?secret=dSdov48YjQ" data-secret="dSdov48YjQ" width="600" height="338" title="&#8220;Enable and Disable Foreign key and Check constraint in SQL Server&#8221; &#8212; Database Research &amp; Development" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"></iframe></p>
<p>Why we require this? To make faster data migration by disabling the foreign key constraint.</p>
<blockquote><p>For example, Now foreign key constraint disabled, and you load/migrate the data. Next, you enable the foreign key constraint with NOCHECK option.</p>
<p>That means if your key data do not reference of your primary key then also it allows the foreign key constraint that is called untrusted or invalid foreign key constraint because data is invalid. </p></blockquote>
<p><em>You must find out untrusted or invalid foreign keys from your SQL Server so that you can take appropriate action on invalid referenced data.</em></p>
<p><strong>Use below script to find untrusted or invalid foregin keys:</strong></p>
<pre class="crayon-plain-tag">SELECT '[' + s.name + '].[' + o.name + '].[' + f.name + ']' AS ForeignKeyName
FROM    sys.foreign_keys f
INNER JOIN sys.objects o 
	ON f.parent_object_id = o.object_id
INNER JOIN sys.schemas s 
	ON o.schema_id = s.schema_id
WHERE   f.is_not_trusted = 1
	AND f.is_not_for_replication = 0
	AND f.is_disabled = 0</pre> </p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>PostgreSQL: How to Disable or Enable Foreign Key Constraint of a Table</title>
		<link>https://www.dbrnd.com/2017/02/postgresql-how-to-disable-or-enable-foreign-key-constraint-of-a-table-data-migration-bulk-operation/</link>
					<comments>https://www.dbrnd.com/2017/02/postgresql-how-to-disable-or-enable-foreign-key-constraint-of-a-table-data-migration-bulk-operation/#comments</comments>
		
		<dc:creator><![CDATA[Anvesh Patel]]></dc:creator>
		<pubDate>Thu, 02 Feb 2017 16:16:49 +0000</pubDate>
				<category><![CDATA[PostgreSQL]]></category>
		<category><![CDATA[Anvesh Patel]]></category>
		<category><![CDATA[bulk operation]]></category>
		<category><![CDATA[data migration]]></category>
		<category><![CDATA[database]]></category>
		<category><![CDATA[database research and development]]></category>
		<category><![CDATA[dbrnd]]></category>
		<category><![CDATA[Disable Foreign Key Constraint]]></category>
		<category><![CDATA[Foreign Key constraint]]></category>
		<category><![CDATA[plpgsql]]></category>
		<category><![CDATA[Postgres Query]]></category>
		<category><![CDATA[postgresql]]></category>
		<category><![CDATA[PostgreSQL Administrator]]></category>
		<category><![CDATA[PostgreSQL Error]]></category>
		<category><![CDATA[PostgreSQL Performance Tuning]]></category>
		<category><![CDATA[PostgreSQL Programming]]></category>
		<category><![CDATA[PostgreSQL Tips and Tricks]]></category>
		<category><![CDATA[trigger]]></category>
		<guid isPermaLink="false">https://www.dbrnd.com/?p=3939</guid>

					<description><![CDATA[In this post, I am sharing one option to Disable / Enable the Foreign Key Constraint in PostgreSQL. During data migration and testing purpose, Database Developer requires to disable Foreign key constraint of a Table. Once you disable constraint, then later you might need to enable again, but during this exercise make sure that all [&#8230;]]]></description>
										<content:encoded><![CDATA[<p><a class="a2a_button_facebook" href="https://www.addtoany.com/add_to/facebook?linkurl=https%3A%2F%2Fwww.dbrnd.com%2F2017%2F02%2Fpostgresql-how-to-disable-or-enable-foreign-key-constraint-of-a-table-data-migration-bulk-operation%2F&amp;linkname=PostgreSQL%3A%20How%20to%20Disable%20or%20Enable%20Foreign%20Key%20Constraint%20of%20a%20Table" title="Facebook" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_twitter" href="https://www.addtoany.com/add_to/twitter?linkurl=https%3A%2F%2Fwww.dbrnd.com%2F2017%2F02%2Fpostgresql-how-to-disable-or-enable-foreign-key-constraint-of-a-table-data-migration-bulk-operation%2F&amp;linkname=PostgreSQL%3A%20How%20to%20Disable%20or%20Enable%20Foreign%20Key%20Constraint%20of%20a%20Table" title="Twitter" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_linkedin" href="https://www.addtoany.com/add_to/linkedin?linkurl=https%3A%2F%2Fwww.dbrnd.com%2F2017%2F02%2Fpostgresql-how-to-disable-or-enable-foreign-key-constraint-of-a-table-data-migration-bulk-operation%2F&amp;linkname=PostgreSQL%3A%20How%20to%20Disable%20or%20Enable%20Foreign%20Key%20Constraint%20of%20a%20Table" title="LinkedIn" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_pinterest" href="https://www.addtoany.com/add_to/pinterest?linkurl=https%3A%2F%2Fwww.dbrnd.com%2F2017%2F02%2Fpostgresql-how-to-disable-or-enable-foreign-key-constraint-of-a-table-data-migration-bulk-operation%2F&amp;linkname=PostgreSQL%3A%20How%20to%20Disable%20or%20Enable%20Foreign%20Key%20Constraint%20of%20a%20Table" title="Pinterest" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_reddit" href="https://www.addtoany.com/add_to/reddit?linkurl=https%3A%2F%2Fwww.dbrnd.com%2F2017%2F02%2Fpostgresql-how-to-disable-or-enable-foreign-key-constraint-of-a-table-data-migration-bulk-operation%2F&amp;linkname=PostgreSQL%3A%20How%20to%20Disable%20or%20Enable%20Foreign%20Key%20Constraint%20of%20a%20Table" title="Reddit" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_pocket" href="https://www.addtoany.com/add_to/pocket?linkurl=https%3A%2F%2Fwww.dbrnd.com%2F2017%2F02%2Fpostgresql-how-to-disable-or-enable-foreign-key-constraint-of-a-table-data-migration-bulk-operation%2F&amp;linkname=PostgreSQL%3A%20How%20to%20Disable%20or%20Enable%20Foreign%20Key%20Constraint%20of%20a%20Table" title="Pocket" rel="nofollow noopener" target="_blank"></a><a class="a2a_dd addtoany_share_save addtoany_share" href="https://www.addtoany.com/share#url=https%3A%2F%2Fwww.dbrnd.com%2F2017%2F02%2Fpostgresql-how-to-disable-or-enable-foreign-key-constraint-of-a-table-data-migration-bulk-operation%2F&#038;title=PostgreSQL%3A%20How%20to%20Disable%20or%20Enable%20Foreign%20Key%20Constraint%20of%20a%20Table" data-a2a-url="https://www.dbrnd.com/2017/02/postgresql-how-to-disable-or-enable-foreign-key-constraint-of-a-table-data-migration-bulk-operation/" data-a2a-title="PostgreSQL: How to Disable or Enable Foreign Key Constraint of a Table"></a></p><p>In this post, I am sharing one option to Disable / Enable the Foreign Key Constraint in PostgreSQL.</p>
<blockquote><p>During data migration and testing purpose, Database Developer requires to disable Foreign key constraint of a Table.</p></blockquote>
<blockquote><p>Once you disable constraint, then later you might need to enable again, but during this exercise make sure that all your data changes are correct.</p></blockquote>
<blockquote><p>PostgreSQL does not provide any direct command or function to disable / enable the Foreign key constraints. </p></blockquote>
<blockquote><p>When you create any Foreign Key on the table, internally It creates a hidden trigger for check data integrity.<br />
You should enable/disable the trigger for achieving disable foreign key constraint.</p></blockquote>
<p><strong>Create a sample Student Master table:</strong></p>
<pre class="crayon-plain-tag">CREATE TABLE tbl_Students 
(
	StudID INTEGER PRIMARY KEY
	,StudName CHARACTER VARYING
	,StudClass CHAR(1)	
);</pre> </p>
<p><strong>Insert few sample records in Student Master table:</strong></p>
<pre class="crayon-plain-tag">INSERT INTO tbl_Students 
VALUES (1,'Anvesh','A')
,(2,'Neevan','B'),(3,'Jenny','C')
,(4,'Roy','C'),(5,'Martin','C');</pre> </p>
<p><strong>Create a sample Student Marks table:</strong></p>
<pre class="crayon-plain-tag">CREATE TABLE tbl_StudentMarks
(
	StudentMarkID INTEGER PRIMARY KEY
	,StudID INTEGER 
	,Sub1Mark SMALLINT
	,Sub2Mark SMALLINT
	,Sub3Mark SMALLINT	
	,CONSTRAINT fk_tbl_StudentMarks_StudID FOREIGN KEY (StudID) REFERENCES tbl_Students (StudID)
);</pre> </p>
<p><strong>Try to insert data with StudID which does not belong to Student Master table:</strong></p>
<pre class="crayon-plain-tag">INSERT INTO tbl_StudentMarks 
VALUES (1,6,50,60,90);</pre> </p>
<p><strong>You will get a below error message:</strong></p>
<pre class="crayon-plain-tag">ERROR:  insert or update on table "tbl_studentmarks" violates foreign key constraint "fk_tbl_studentmarks_studid"
DETAIL:  Key (studid)=(6) is not present in table "tbl_students".
********** Error **********</pre> </p>
<p><strong>Disable all hidden triggers of a Student Mark table:</strong></p>
<pre class="crayon-plain-tag">ALTER TABLE tbl_StudentMarks DISABLE TRIGGER ALL;</pre> </p>
<p><strong>Now Again, try to insert same record:</strong></p>
<pre class="crayon-plain-tag">INSERT INTO tbl_StudentMarks 
VALUES (1,6,50,60,90);</pre> </p>
<p><strong>Once you did with your task, please enable all trigger of a table:</strong></p>
<pre class="crayon-plain-tag">ALTER TABLE tbl_StudentMarks ENABLE TRIGGER ALL;</pre> </p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.dbrnd.com/2017/02/postgresql-how-to-disable-or-enable-foreign-key-constraint-of-a-table-data-migration-bulk-operation/feed/</wfw:commentRss>
			<slash:comments>11</slash:comments>
		
		
			</item>
	</channel>
</rss>
