वैसे यह हो सकता है कि आपकी विदेशी कुंजी तालिका को डिफ़ॉल्ट स्कीमा में नहीं देख रही है (शायद dbo
) इस मामले में आपको object_id
दिखाई नहीं देगा जब तक आप स्कीमा निर्दिष्ट नहीं करते, इस तरह:
SELECT OBJECT_ID(N'<schema>.FK_Name', N'F')
असल में, आपके डेटाबेस में एक ही नाम के साथ कई ऑब्जेक्ट हो सकते हैं, लेकिन विभिन्न स्कीमाओं के भीतर। OBJECT_ID(N'FK_Name', N'F')
डिफ़ॉल्ट स्कीमा में ऑब्जेक्ट की आईडी लौटाएगा।
आप इसका परीक्षण इस तरह कर सकते हैं:
create schema test
create table test.temp1 (id int primary key)
create table test.temp2 (id int)
go
alter table test.temp2 add constraint FK_temp foreign key(id) references test.temp1(id)
select object_id('FK_temp', 'F') -- returns null
select object_id('test.FK_temp', 'F') -- returns object id
drop table test.temp2
drop table test.temp1
drop schema test