SQL Server에서 SQL 쿼리를 사용하여 테이블 기본 키 찾기
SQL Server에서 SQL 쿼리를 사용하여 테이블의 기본 키를 얻으려면 약간의 작업이 필요합니다. MySQL과 다른 접근 방식. 기본 키 정보를 검색하려면 다음 쿼리 옵션을 살펴보세요.
SQL Server 쿼리:
SQL Server에 일반적으로 사용되는 쿼리 중 하나는 다음과 같습니다.
SELECT name AS PrimaryKey FROM sysobjects WHERE xtype = 'PK' AND name IN ( SELECT name FROM sysindexes WHERE id = object_id(TableName) )
TableName을 쿼리의 실제 테이블 이름으로 바꿉니다.
다른 SQL Server 쿼리:
SQL Server에 대한 대체 쿼리가 아래에 제공됩니다.
SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE WHERE OBJECTPROPERTY(OBJECT_ID(CONSTRAINT_SCHEMA + '.' + QUOTENAME(CONSTRAINT_NAME)), 'IsPrimaryKey') = 1 AND TABLE_NAME = 'TableName' AND TABLE_SCHEMA = 'Schema'
다시 TableName과 Schema를 적절한 값으로 대체합니다.
Universal MySQL 및 SQL Server에 대한 쿼리(권장하지 않음):
SQL Server에 대한 질문에 언급된 MySQL 쿼리와 직접적으로 동등한 것은 없지만 두 데이터베이스 시스템 모두에서 작동하는 더 복잡한 쿼리를 사용할 수 있습니다.
SELECT T.COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS AS T LEFT JOIN (SELECT DISTINCT C.TABLE_NAME, C.COLUMN_NAME FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE AS U JOIN INFORMATION_SCHEMA.CONSTRAINT_COLUMN_USAGE AS C ON U.TABLE_SCHEMA = C.TABLE_SCHEMA AND U.TABLE_NAME = C.TABLE_NAME AND U.CONSTRAINT_NAME = C.CONSTRAINT_NAME) AS S ON T.TABLE_NAME = S.TABLE_NAME AND T.COLUMN_NAME = S.COLUMN_NAME WHERE T.TABLE_SCHEMA = 'TableName_Schema' AND T.TABLE_NAME = 'TableName'
이 쿼리는 MySQL과 SQL Server 모두에서 작동할 수 있습니다. , 효율성이 떨어지므로 최적의 성능을 위해서는 권장되지 않습니다.
위 내용은 SQL 쿼리를 사용하여 SQL Server에서 테이블의 기본 키를 찾는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!