Помогите с пониманием параметров хранимой процедуры SQL - PullRequest
4 голосов
/ 10 мая 2011

Я новичок в SQL и сейчас работаю с хранимыми процедурами.Я смотрел код другого разработчика и увидел следующее утверждение:

ALTER PROCEDURE [deleteRecords_UNICODE]
@RecordIDs ty_NumberList READONLY

Вопрос 1: Что означает «ty_NumberList»?

Вопрос 2: Я создаю хранимую процедуру, которая требуетиспользовать вышеуказанный параметр.Когда я создал "DECLARE @RecordNum int", я, очевидно, получил ошибку

Operand type clash: int is incompatible with ty_NumberList

Полагаю, мне нужно решить эту проблему следующим образом:а) Создание переменной типа "ty_NumberList"б) тогда иди с моим обычным объявлением @RecordNum intc) Затем передайте значение @RecordNum в ty_NumberList

Вопрос 3. Как мне реализовать описанные выше шаги в SQL?

Любая помощь будет принята с благодарностью!

Ответы [ 3 ]

4 голосов
/ 10 мая 2011

ty_NumberList - это тип табличного параметра .

Вы бы использовали его как

DECLARE @Nums AS ty_NumberList;

INSERT INTO @Nums VALUES (1);

EXEC YourProc @Nums;
1 голос
/ 10 мая 2011

Этот код использует Table-Valued Parameter s, читайте об этом в Книгах онлайн: http://msdn.microsoft.com/en-us/library/bb510489.aspx

0 голосов
/ 11 мая 2011

Читать это

ty_number означает, что вы должны сказать нам потому что это пользовательский тип данных

при объявлении хранимой процедуры параметр

нам не нужно использовать объявить

создать пример процесса @name vanchar (20), @num varchar (20) Начало

Выбрать ........ .......

Конец

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