sql >> Database teknologi >  >> RDS >> Sqlserver

OBJECT_ID for objekt i en anden database - hvordan finder man database-id eller navn/fuldt kvalificeret objektnavn?

Du burde være i stand til at gøre dette:

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

Dette er, hvad du effektivt gør med OBJECT_ID('AnotherDB.ASchema.ATable')

Det betyder, at du kan stole på dbname.sys.objects og undgå forveksling med metadatafunktioner.

Bemærk:nye katalogvisninger er designet til at blive brugt og ikke ændres fra version til version, som på linket. I gamle dage var det en dårlig praksis at bruge systemtabeller, men stigmatiseringen består stadig. Så du kan roligt stole på sys.objects i stedet for at metadataene fungerer.



  1. multiset union distinct giver forkert antal typer eller argumenter bestået fejl

  2. MySQL OPRET TABEL, HVIS IKKE FINDER -> Fejl 1050

  3. Min Mysql-forespørgsel opdateres ikke

  4. Afkrydsningsfelter fra databaseværdier