我在 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
我的数据库中有什么我应该小心的吗?它是什么?如果程序失败,有没有办法返回错误?
任何意见是极大的赞赏。
谢谢