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

Jak określić klucz podstawowy dla tabeli w SQL Server?

Używam tego w generatorze kodu, który napisałem, aby uzyskać klucz podstawowy:

SELECT i.name AS IndexName, 
    OBJECT_NAME(ic.OBJECT_ID) AS TableName, 
    COL_NAME(ic.OBJECT_ID,ic.column_id) AS ColumnName, 
    c.is_identity, c.user_type_id, CAST(c.max_length AS int) AS max_length, 
    CAST(c.precision AS int) AS precision, CAST(c.scale AS int) AS scale 
FROM sys.indexes AS i 
INNER JOIN sys.index_columns AS ic 
INNER JOIN sys.columns AS c ON ic.object_id = c.object_id AND ic.column_id = c.column_id 
    ON i.OBJECT_ID = ic.OBJECT_ID AND i.index_id = ic.index_id 
WHERE i.is_primary_key = 1 AND ic.OBJECT_ID = OBJECT_ID('dbo.YourTableNameHere')
ORDER BY OBJECT_NAME(ic.OBJECT_ID), ic.key_ordinal


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Dynamiczny SQL (przekazywanie nazwy tabeli jako parametru)

  2. Czy zwracana wartość 0 jest zawsze sukcesem w procedurach składowanych?

  3. Znaki UTF-8 są zapisywane jako ?? podczas wstawiania, ale zapisuje się poprawnie podczas aktualizacji

  4. Niejednoznaczny błąd nazwy kolumny

  5. Używanie SQL Server Express 2008 z bazą danych SQL Server 2005 – jak sprawdzić kompatybilność