Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

OBJECT_ID obiektu w innej bazie danych - jak znaleźć identyfikator bazy danych lub nazwę/w pełni kwalifikowaną nazwę obiektu?

Powinieneś być w stanie to zrobić:

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

To właśnie robisz z OBJECT_ID('AnotherDB.ASchema.ATable')

Oznacza to, że możesz polegać na dbname.sys.objects i uniknąć pomyłek z funkcjami metadanych.

Uwaga:nowe widoki katalogu są przeznaczone do użytku i nie zmieniają się z wersji na wersję, zgodnie z linkiem. W dawnych czasach używanie tabel systemowych uważano za złą praktykę, ale piętno nadal pozostaje. Możesz więc bezpiecznie polegać na sys.objects, a nie na funkcjach metadanych.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak dodać ciąg z wartością automatycznego przyrostu w programie SQL Server?

  2. Procent SQL Server 2005 w nawiasach w tabeli przestawnej

  3. Jak zainstalować SQL Server w systemie Windows

  4. Jak wyświetlić sortowanie bazy danych w SQL Server (T-SQL)

  5. Dlaczego zawsze wolimy używać parametrów w instrukcjach SQL?