레거시 데이터베이스에서 작업하고 있습니다. 몇 가지 테이블에서 기본 키가 여러 열을 사용합니다.SQL Server 키가 여러 열을 포함하는 테이블에서 기본 키를 선택하십시오.
앱에서 각 행의 데이터를 테이블로 읽은 다음 사용자가 데이터를 업데이트하고 데이터를 쓰게됩니다. 다시 테이블에. 현재
나는 다양한 PK 컬럼을 연결하고 나는 테이블에 데이터를 다시 넣을 때의 고유 ID로 저장할 수 있습니다.에 더 효율적인 방법이 있는지
지금 궁금 해서요 mySQL 배경에서 나는 SQL Server 2005가 기능을 가질 수 있다고 생각하지는 않는다.SELECT PRIMARYKEY() as pk, ... FROM table WHERE ...
위의 코드는 데이터베이스 엔진이 주어진 레코드의 기본 키로 사용하는 키를 선택합니다.
나는 검색 한 결과 아무것도 찾을 수 없습니다. 아마 그저 까다 롭지 만 연결 트릭을 좋아하지 않습니다.
DC
나는 더 쉽게 읽을 수 있도록 (즉, SQL 문에서 : bl1에서 uid로 col1 + col2를 선택) 결과 문자열을 웹 양식의 고유 한 ID로 저장하기 때문에 읽은 키를 연결합니다. 테이블을 업데이트 할 때 where 문에서 컬럼의 연결에 대한 고유 ID를 비교합니다. 즉, update blah where col1 + col2 = uid. 그런 식으로 연결은 모두 SQL에서 완료되며 누군가가 순서를 변경하고 나중에 중단 할 가능성이 적습니다. 적어도 그 이론. 그 추악한 이유는 기본 키에 int 5 개와 varchar 1 개가 있기 때문입니다. – DeveloperChris