Bueno, podría ser que su clave externa esté mirando a la tabla y no en el esquema predeterminado (probablemente dbo
). En este caso, no verá object_id
hasta que especifique el esquema, así:
SELECT OBJECT_ID(N'<schema>.FK_Name', N'F')
En realidad, podría tener múltiples objetos con el mismo nombre en su base de datos, pero dentro de diferentes esquemas. OBJECT_ID(N'FK_Name', N'F')
devolverá la identificación del objeto en el esquema predeterminado.
Puedes probarlo así:
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