2 가지 절차가 있습니다. 임시 테이블과 첫 번째 proc에서 생성 된 임시 테이블을 사용하는 다른 테이블 (또는 여러 테이블)을 만드는 방법. 이것은 나쁜 형태로 간주됩니까? 나는 여기에있는 기존의 코드베이스에 들어가고 있으며,이 패턴을 많이 사용한다. 그것은 확실히 나를 귀찮게하지만 그것이 명백하게 나쁜 생각이라고 말할 수는 없습니다. 나는 그저 짜증나는 패턴이라고 생각합니다. 썩은 냄새가 나지만 무엇을 말할 수는 없습니다. 나는 테이블을 로컬로 빌드 한 다음 exec로 채우기를 원합니다. 그러나 그것은 기존의 코드베이스에서는 특이한 하나의 테이블 만 반환하는 procs를 필요로합니다.은 나쁜 형식으로 간주되는 절차에서 임시 테이블을 공유합니까?
이런 임시 테이블 공유에서 SQL 전문가를 멀리합니까? 그렇다면 왜? 나는 이것에 대해 고려 된 의견을 형성하려고 노력 중이며 약간의 의견을 원합니다.
보기가 가능한 대안이 될 수 있습니까?
실적은 어떻습니까? @table을 로컬로 빌드하거나 "채우기"proc에서 #table을 빌드하는 것이 더 낫지 않습니까?
여기에 모든 방법의 좋은 토론있다 :이 똑같은 문제가 발생했습니다 http://www.sommarskog.se/share_data.html
그 테이블은 "읽기"proc 파일에 대한 여러 번의 후속 호출에서 공유되지 않습니까?당신이 간헐적으로 실패를 디버그하는 것을 볼 수있는 지점처럼 보입니다. – jcollum
이것은 전역 임시 테이블 (## temp)과 어떻게 다른가요? –
## temp를 생성 한 연결이 닫히면 temp가 삭제됩니다. – JeffO