使用表类型

本文关键字:类型 | 更新日期: 2023-09-27 18:18:44

我已经创建了一个表值类型,

CREATE TYPE [ContactTemplate] AS TABLE (
    [Email]             VARCHAR(100),
    [FirstName]         VARCHAR(50),
    [LastName]          VARCHAR(50)
)
GO

然后,当我尝试创建一个过程时:

CREATE PROCEDURE [dbo].[usp_ProcessContact]
 (  @Email      VARCHAR(100),
    @FirstName  VARCHAR(50),
    @LastName   VARCHAR(50),
    @Contact    ContactTemplate READONLY)
    as 
    Begin
    -------
    End 

处总是出错
@Contact    ContactTemplate READONLY" The parameter @Contact  cannot
be declared READONLY since it is not a table valued parameter

我试过很多东西,移除dbo,括号等,仍然不能让它工作。请帮忙. .

使用表类型

试试这个:Edit -> IntelliSense -> Refresh Local Cache——如果你刚刚定义了表类型,你的符号表还不知道它。或者,创建类型,退出SSMS,然后重新打开。