3
여기에서 잘못된 것을 얻지 못하고 있습니다. 업데이트 세그먼트에서, 나는이 오류가 무엇입니까 : 내 테이블 반환 매개 변수 유형 여기오류 표 값 매개 변수가있는 스칼라 변수를 선언해야합니다.
Must declare the scalar variable "@OrderTestTVP".
입니다
CREATE TYPE [dbo].[TVP_OrderTest] AS TABLE(
[OrderTestId] [int] NULL,
[OrderId] [int] NOT NULL,
[TestCode] [varchar](10) NOT NULL
)
GO
ALTER PROCEDURE [dbo].[TVP_Save_OrderTest]
@OrderTestTVP TVP_OrderTest READONLY
AS
BEGIN
BEGIN TRY
DECLARE @TableOfIdentities TABLE (IdentValue BIGINT, TestCode varchar(10))
INSERT INTO OrderTest
(
OrderId
,TestCode
)
OUTPUT Inserted.OrderTestId,inserted.TestCode
INTO @TableOfIdentities(IdentValue,TestCode)
SELECT OrderId
,TestCode
FROM @OrderTestTVP
WHERE OrdertestID = 0
UPDATE
OrderTest
SET
OrderId = @OrderTestTVP.OrderId,
TestCode = @OrderTestTVP.TestCode
FROM OrderTest INNER JOIN @OrderTestTVP
ON OrderTest.OrderTestId = @OrderTestTVP.OrderTestId
SELECT * FROM @TableOfIdentities
END TRY
BEGIN CATCH
exec error_catch
END CATCH
END
@OrderTestTVP TVP_OrderTest READONLY에 유형 선언이 누락되었습니다. 맞습니까? –
그 유형은 CREATE TYPE [dbo]. [TVP_OrderTest] AS TABLE()입니다. 사실 '삽입'세그먼트 만 유지하면 오류가 발생하지 않습니다. –