首页 > 解决方案 > SQL Server 表值参数

问题描述

我正在尝试创建一个表值参数以输入到 MS SQL Server 存储过程中。我的创建声明:

CREATE TYPE dbo.tvt_AbusedBy AS TABLE  
( Assessment_Behavorial_AbusedID int, Assessment_BehavorialID int,
  Ref_Abuse_TypeID int, Abuser_Name varchar(50), GenderID int,
  Relationship_TypeID int, Age int)  

尝试将作为参数添加到 proc 中时:

CREATE PROCEDURE [dbo].[qryAddUpdateMultipletblAssessment_Behavorial_Abused] 
@prm_Assessment_Abused AS dbo.tvt_AbusedBy READONLY,

我收到一条错误消息:“参数 @prm_Assessment_Abused 不能被声明为 READONLY,因为它不是表值参数”。

它似乎没有将其识别为表值参数。

如果我远程 READONLY 规定,它会给我一个错误“参数或变量 @prm_Assessment_Abused 的类型无效。

一定是我如何尝试创建表值参数类型的问题。

有任何想法吗?

标签: sql-servertable-valued-parameters

解决方案


AS在存储过程声明中添加参数时不要使用:

CREATE PROCEDURE [dbo].[qryAddUpdateMultipletblAssessment_Behavorial_Abused] 
  @prm_Assessment_Abused dbo.tvt_AbusedBy READONLY

推荐阅读