使用表类型

时间:2013-06-17 03:43:47

标签: c# sql-server tsql

我创建了一个表值类型, 这是好的。

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,括号等,仍然无法让它发挥作用。请帮助..

1 个答案:

答案 0 :(得分:11)

试试这个:编辑 - >智能感知 - >刷新本地缓存 - 如果您刚刚定义了表类型,则您的符号表还不知道它。或者,创建类型,退出SSMS,然后重新打开。