Проблема SQL с ошибкой «Неверный тип данных» - PullRequest
22 голосов
/ 17 февраля 2011

Использование 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
);

И когда я пытаюсь его использовать, я получаю параметр error или переменная @variableName содержит недопустимые данныенаберите "

ALTER PROCEDURE [dbo].[ImportServiceTypeRates]

(@ServiceTypes dbo.ServiceType)  --I have tried it without the "dbo." as well

Update

Поэтому я добавил" READONLY "в объявление моей переменной

@ServiceTypes dbo.ServiceType READONLY

И теперь я получаю сообщение об ошибке"Параметр @Servicetype не может быть объявлен READONLY, поскольку он не является табличным параметром "? ЧТО?

Я подумал, что "CREATE TYPE ServiceType as TABLE" был тем, что объявил его таким ???

Ответы [ 3 ]

109 голосов
/ 09 сентября 2012

Я знаю, что это старый пост, но, поскольку я столкнулся с той же проблемой и смог решить ее, подумал о том, чтобы поделиться ею. Это проблема с кешем IntelliSense, и ее можно решить, нажав ctrl + shift + R (ярлык для Правка -> IntelliSense -> Обновить локальный кэш)

13 голосов
/ 17 февраля 2011

Вы должны объявить свой табличный параметр как READONLY.

ALTER PROCEDURE [dbo].[ImportServiceTypeRates]    
   @ServiceTypes dbo.ServiceType READONLY 
AS
   --your proc

Несмотря на то, что SQL Server заставляет ваш табличный параметр быть доступным только для чтения, вы также должны явно объявить его всписок параметров хранимой процедуры.

http://msdn.microsoft.com/en-us/library/bb675163.aspx

9 голосов
/ 12 июля 2011

Пока вы не объявите какие-либо параметры, кроме типа таблицы в хранимой процедуре, вы получите ошибку красной волнистой линии в Intellisense, но хранимая процедура должна быть успешно создана или изменена.Похоже, это нефиксированная ошибка Microsoft.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...