【发布时间】:2011-06-28 20:44:47
【问题描述】:
使用 SQL 2008
所以我创建了一个用户定义类型:
CREATE TYPE dbo.ServiceType AS TABLE (
[TO_ZONE] varchar(30) NOT NULL,
[FROM_ZONE] varchar(30) NOT NULL,
[RATE] decimal(14,2) NOT NULL,
[SERVICE_TYPE] varchar(255) NOT NULL
);
当我尝试使用它时,我收到错误“参数或变量@variableName 的数据类型无效”
ALTER PROCEDURE [dbo].[ImportServiceTypeRates]
(@ServiceTypes dbo.ServiceType) --I have tried it without the "dbo." as well
更新
所以我在变量声明中添加了“READONLY”
@ServiceTypes dbo.ServiceType READONLY
我现在收到错误消息“无法将参数 @Servicetype 声明为 READONLY,因为它不是表值参数”?什么?
我认为“CREATE TYPE ServiceType as TABLE”是这样声明的???
我也有显示在 Types\User-Defined Table Types\dbo.ServiceType
【问题讨论】:
-
你在哪里声明@variableName?
-
@Nishant SQL Server 2008
-
@astander (@ServiceTypes dbo.ServiceType READONLY)
标签: sql sql-server tsql sql-server-2008 stored-procedures