在表值函数中声明变量
如何在表值函数中声明变量?
How can I declare a variable in a table valued function?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
如何在表值函数中声明变量?
How can I declare a variable in a table valued function?
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(3)
表值函数有两种风格。一种只是一条 select 语句,另一种可以包含比仅仅一条 select 语句更多的行。
这不能有变量:
你必须这样做:
There are two flavors of table valued functions. One that is just a select statement and one that can have more rows than just a select statement.
This can not have a variable:
You have to do like this instead:
在 SQL Server 中:
这不是一个非常好的解决方案,但是如果您有充分的理由需要使用内联 TVF 而不是 MSTVF,并且无法将变量作为参数传递到 TVF,但可以使用 SELECT 语句获取它,您可以使用 CTE 来访问该值,如下所示:
In SQL Server:
It's not a very nice solution, but if you have a valid reason for needing to use an inline TVF instead of a MSTVF and cannot pass the variable into the TVF as a parameter, but can obtain it using a SELECT statement, you can use a CTE to access the value as follows:
这是我尝试过的例子之一。
This is one of the examples I tried.