sql >> Database >  >> RDS >> Sqlserver

OBJECT_ID van object in een andere database - hoe vind ik database-ID of naam/volledig gekwalificeerde objectnaam?

Je zou dit moeten kunnen doen:

SELECT
   name
FROM
    AnotherDB.sys.objects   --changes context
WHERE
    object_id = OBJECT_ID('AnotherDB.ASchema.ATable')

Dit is wat u effectief doet met OBJECT_ID('AnotherDB.ASchema.ATable')

Dit betekent dat u op dbname.sys.objects kunt vertrouwen en verwarring met metadatafuncties kunt voorkomen.

Opmerking:de nieuwe catalogusweergaven zijn ontworpen om te worden gebruikt en veranderen niet van versie naar versie, volgens de link. Vroeger werd het als een slechte gewoonte beschouwd om systeemtabellen te gebruiken, maar het stigma blijft bestaan. U kunt dus veilig vertrouwen op sys.objects in plaats van dat de metadata functioneert.



  1. SQL-telling om nulwaarden op te nemen

  2. Codeigniter dynamische databaseverbinding

  3. Wat virtuele bestandsstatistieken wel en niet vertellen over I/O-latentie

  4. Uren toevoegen aan een tijdwaarde in PostgreSQL