0
다음 상황이 있습니다.저장 프로 시저의 다른 데이터베이스
저장 프로 시저의 입력 매개 변수는 데이터베이스 이름입니다. 그래서,이 매개 변수 쿼리에 따라 달라집니다 다른 데이터베이스에서 실행됩니다. 모든 쿼리는 동일하며, 아래는 간단한 예입니다.
IF ... ELSE 문을 피하기 위해 동적 SQL을 사용하는 것을 제외하고는 저장 프로 시저를 작성하는 방법. 동적 SQL 외에 다른 방법이
ALTER PROCEDURE [dbo].[usp_Item_GetAll]
(
@DBName nvarchar(255) = ''
)
AS
BEGIN
IF @DBName = 'ItemUsers'
BEGIN
SELECT
*
FROM ItemUsers.dbo.vW_DAM_ItemWithAttribute
END
ELSE IF @DBName = 'CollectionUsers'
BEGIN
SELECT
*
FROM CollectionUsers.dbo.vW_DAM_ItemWithAttribute
END
같은
EXEC
명령 뭔가를 사용하여 해당 쿼리를 실행하는 문자열을 만들 수 있습니다 그리고 여기서 한 일. – liebs19