쿼리는 아래와 같습니다.
일부 검색기능은 삭제를 하였으며, 필요한 부분만 올려 드립니다.
여기서 오류가 프로시져에 필요한 @inPay 매개 변수가 제공되지 않았습니다.
CREATE PROC dbo.Usp_B2CtotOrderList
@totPay VARCHAR(10) OUTPUT,
@inPay VARCHAR(10) OUTPUT,
@noPay VARCHAR(10) OUTPUT,
@usestock VARCHAR(10) OUTPUT
AS
BEGIN
SET NOCOUNT ON
DECLARE @SQL NVARCHAR(4000), @Params NVARCHAR(500)
SET @SQL = '
SELECT @totPay = ISNULL(SUM(or_totpay + ISNULL(st_usestock,0)),0), @inPay = ISNULL(SUM(CASE WHEN or_payin = ''Y'' THEN or_totpay + ISNULL(st_usestock,0) ELSE 0 END),0), @noPay = ISNULL(SUM(CASE WHEN or_payin = ''N'' THEN or_totpay + ISNULL(st_usestock,0) ELSE 0 END),0), @usestock = ISNULL(SUM(st_usestock),0)
FROM Order_TB JOIN SubOrder_TB ON or_session = so_session LEFT JOIN Stock_TB ON or_session = st_session
WHERE ''1'' = ''1''
'
SET @Params = N'@totPay VARCHAR(10) OUTPUT, @inPay VARCHAR(10) OUTPUT, @noPay VARCHAR(10) OUTPUT, @usestock VARCHAR(10) OUTPUT'
EXEC SP_EXECUTESQL @SQL, @Params, @totPay OUTPUT, @inPay OUTPUT, @noPay OUTPUT, @usestock OUTPUT
SET NOCOUNT OFF
END
저렇게 일렬로 써 놓으면 눈에 잘 들어오나요??
개인적으로 가독성이 떨어지는 코드는 업무 효율을 떨어뜨리는 원인이라고 생각합니다,,,