2017-11-24 6 views
1

매개 변수가있는 저장 프로 시저를 호출 할 때 왜 변수를 새 값으로 다시 지정해야하는지 의심 스럽습니다. 절차에서 우리는 2 개의 변수가 필요합니다. 프로 시저 내부에서 사용하기 위해 변수를 재 할당해야합니다. 내가 믿는SQL Server PROCEDURE 변수 선언

+0

코드를 나타내고 문제를 설명하십시오 [ask] – HoneyBadger

+0

[DBMS] (https://en.wikipedia.org/wiki/DBMS) 제품을 사용하고 있습니까? 포스트그레스? 신탁? "_SQL_"은 쿼리 언어 일뿐 특정 데이터베이스 제품의 이름은 아닙니다. –

답변

0

매개 변수 스니핑

https://blogs.msdn.microsoft.com/turgays/2013/09/10/parameter-sniffing-problem-and-possible-workarounds/

SQL Server를 사용하여 저장 프로 시저를 컴파일 (스니핑) 매개 변수는 프로 시저가 처음 컴파일 될 때 보내고에 넣습니다계획 캐시. 그 후에 프로 시저가 다시 실행될 때마다 SQL 서버가 캐시에서 실행 계획을 검색하여 사용합니다 ( 재 컴파일 이유가없는 한). 처음으로 저장 프로 시저가 실행될 때 매개 변수 집합이 해당 매개 변수 집합에 대해 허용 가능한 계획을 생성하지만 매개 변수 집합은 매우 일반적이지 않은 경우 잠재적 인 문제가 발생합니다.

제공된 링크의 솔루션 중 하나는 로컬 변수를 사용하는 것입니다. 예 : 이미 무엇을하고 있습니다.

+0

업데이트 주셔서 감사합니다. –

+0

@VenkateshKopulaSivakumar 아무 문제 없습니다, 좋은 하루 되세요. – user2202098