2017-08-22 2 views
0

MSSQL 2014TSQL Drop FK dans une autre base de données

Est-il possible de supprimer un FK dans la base de données 2 tout en travaillant dans la base de données1?

Ce ne fonctionne pas pour moi

use database1 
go 

    IF EXISTS (SELECT 1 FROM database2.sys.foreign_keys WHERE object_id = OBJECT_ID(N'fk_in_tbl_in_other_db') AND parent_object_id = OBJECT_ID(N'database2.dbo.tableName')) 
    BEGIN 
     ALTER TABLE database2.dbo.tableName DROP CONSTRAINT fk_in_tbl_in_other_db; 
    END 

Répondre

0

Ok, j'ai réussi à trouver une solution, juste une petite modification à la clause WHERE

remplacer

WHERE object_id = OBJECT_ID(N'fk_in_tbl_in_other_db') 

avec

WHERE name = N'fk_in_tbl_in_other_db' 


IF EXISTS (SELECT 1 FROM database2.sys.foreign_keys WHERE name = N'fk_in_tbl_in_other_db' AND parent_object_id = OBJECT_ID(N'database2.dbo.tableName')) 
BEGIN 
    ALTER TABLE database2.dbo.tableName DROP CONSTRAINT fk_in_tbl_in_other_db; 
END