我是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
我猜我必须解决这个问题:
a)创建“ty_NumberList”类型的变量
b)然后使用我通常的DECLARE @RecordNum int
c)然后将@RecordNum的值传递给ty_NumberList
问题3:我如何在SQL中实现上述步骤?
非常感谢任何帮助!
答案 0 :(得分:4)
ty_NumberList
是table valued parameter的类型。
你会像
一样使用它DECLARE @Nums AS ty_NumberList;
INSERT INTO @Nums VALUES (1);
EXEC YourProc @Nums;
答案 1 :(得分:1)
该代码正在使用Table-Valued Parameter
,请在联机丛书中阅读:http://msdn.microsoft.com/en-us/library/bb510489.aspx
答案 2 :(得分:0)
阅读本文
ty_number意味着你必须告诉我们 因为它是用户定义的数据类型
同时声明存储过程 参数
我们不需要使用declare
创建proc示例@name vanchar(20), @num varchar(20)开始
选择........ .......
结束