帮助理解 SQL 存储过程参数

发布于 2024-11-06 09:22:06 字数 542 浏览 0 评论 0原文

我是 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 中实现上述步骤?

任何帮助将不胜感激!

I'm new to SQL and am now working with stored procedures.
I was watching another developer's code and I saw this statement:

ALTER PROCEDURE [deleteRecords_UNICODE]
@RecordIDs ty_NumberList READONLY

Question 1: What does the "ty_NumberList" mean?

Question 2: I'm creating a stored procedure that needs to use the above parameter.
When I created "DECLARE @RecordNum int", I obviously got the error of

Operand type clash: int is incompatible with ty_NumberList

I'm guessing I have to resolve this by:
a) Creating a variable of type "ty_NumberList"
b) then go with my usual DECLARE @RecordNum int
c) Then pass the value of @RecordNum into ty_NumberList

Question 3: How would I go about implementing the above steps in SQL?

Any help would be greatly appreciated!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

早茶月光 2024-11-13 09:22:06

ty_NumberList表值参数。

你会像这样使用它

DECLARE @Nums AS ty_NumberList;

INSERT INTO @Nums VALUES (1);

EXEC YourProc @Nums;

ty_NumberList is the type of a table valued parameter.

You would use it like

DECLARE @Nums AS ty_NumberList;

INSERT INTO @Nums VALUES (1);

EXEC YourProc @Nums;
小猫一只 2024-11-13 09:22:06

该代码使用表值参数,请在在线书籍中阅读:

That code is using Table-Valued Parameters, read up on it in Books On Line: http://msdn.microsoft.com/en-us/library/bb510489.aspx

笑红尘 2024-11-13 09:22:06

阅读本文

ty_number 表示您必须告诉我们
因为它是用户定义的数据类型

声明存储过程时
参数

我们不需要使用声明

创建过程样本@name vanchar(20),
@num varchar(20) 开始

选择............

结束

Read this

ty_number means you have to tell us
because its a user defined data type

while declaring the stored procedure
parameter

we no need to use declare

create proc sample @name vanchar(20),
@num varchar(20) Begin

Select ........ .......

End

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文