ADO.NET でテーブル値パラメーターを使用していますが、ストアド プロシージャが正しく機能していません。他に2つあり、正常に動作します。コードとテーブルの順序などを比較しましたが、すべて問題ないようです。
データはコードからストアド プロシージャに渡され、エラーは発生しません。単に挿入するだけではありません。私が見逃していることを知らない何かがあるのだろうか... 私は完全に迷っている.. 理解するのに多くの時間を費やしたが、できなかった.
すべてがうまくいっているように見えますが、エラーはありませんが、まだ機能していません。
タイプは次のとおりです。
CREATE TYPE [dbo].[NameTableType] AS TABLE(
[ID] [int] NULL,
[MYID] [int] NULL,
[Name] [varchar](50) NULL,
)
GO
そしてこれが私のテーブルです
ALTER PROCEDURE [dbo].[Insert]
(
@TVP as NameTableType readonly
)
AS
BEGIN TRANSACTION
BEGIN TRY
INSERT INTO [dbo].[MYTABLE]
([ID],[MYID],[NAME])
SELECT [ID],[MYID],[NAME]
from @TVP
COMMIT TRANSACTION
END TRY
BEGIN CATCH
ROLLBACK TRANSACTION
END CATCH
データベースで注意すべき点はありますか?それは何ですか? 手順が失敗した場合にエラーを返す方法はありますか?
どんなアドバイスでも大歓迎です。
ありがとう