와 저장 프로 시저를 다음과 같이 내가 저장 프로 시저가 있습니다SQL Server 2008은 다중 출력 매개 변수
ALTER PROCEDURE [dbo].[sp_web_orders_insert]
(
@userId int = default,
@custId int = default,
@orderDate datetime = default,
@orderTotal money = default,
@statusId int = default,
@orderReference varchar(50) = default,
@custReference varchar(50) = default,
@order_ID INT output,
@orderReferenceOutput varchar(50) output
)
AS
SET NOCOUNT OFF;
INSERT INTO [web_orders] ([user_ID], [cust_ID], [orderDate], [orderTotal], [statusId], [orderReference], [custReference]) VALUES (@userId, @custId, @orderDate, @orderTotal, @statusId , 'PLC' + REPLICATE('0', (7 - LEN((select MAX(order_ID) from web_orders)))) + CAST((select(max(order_ID)+1) from web_orders) AS VARCHAR(5)), @custReference);
SELECT @order_ID = @@IDENTITY
RETURN @order_ID
SELECT @orderReferenceOutput = 'PLC' + REPLICATE('0', (7 - LEN((select MAX(order_ID) from web_orders)))) + CAST((select(max(order_ID)+1) from web_orders) AS VARCHAR(5))
RETURN @orderReferenceOutput
을 어떤 이유로 두 번째 출력 매개 변수 @orderReferenceOutput
반환 아무것도. 이 두 번째 출력 매개 변수의 목적은 방금 데이터베이스에 삽입 한 열을 검색하는 것입니다.
가장 쉬운 방법은 RETURN 명령을 주석 처리하는 것입니다. 이것은 그들이 원하는 것을위한 것이 아닙니다. –