sql >> Databasteknik >  >> RDS >> Sqlserver

Varför kan jag inte hitta en främmande nyckel med funktionen OBJECT_ID()?

Det kan vara så att din främmande nyckel tittar på tabellen som inte är i standardschemat (förmodligen dbo ). I det här fallet kommer du inte att se object_id tills du anger ett schema, så här:

SELECT OBJECT_ID(N'<schema>.FK_Name', N'F')

Egentligen kan du ha flera objekt med samma namn i din databas, men inom olika scheman. OBJECT_ID(N'FK_Name', N'F') returnerar objektets id i standardschemat.

Du kan testa det så här:

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

sql fioldemo




  1. Ska jag partitionera/underpartitionera min tabell?

  2. Följande kod returnerar ett 500-fel eftersom koden är avskriven i php version 7, Hur får man det att fungera i php version 7?

  3. Hur man använder frågedesignern i SQL Server

  4. PHP-formulär session_start():Kan inte skicka sessionscachebegränsare