我有一个sql函数,我需要在该函数中声明几个变量.请告知我如何实现这一目标.
例如,我需要把 – >
Declare @ClientResult TABLE( RowIndex int identity(1,1),SplitText varchar(50) )
在下面的功能.
create FUNCTION [dbo].CLIENT_SHIPPINGREPORTDATA_Function_Test ( @CLIENTPK_NEW TABLE,@CGNEEPK TABLE @type varchar(100) ) RETURNS TABLE AS RETURN SELECT distinct OP_PartNum,OP_PK FROM Client_whsPallet pallet
我正在使用sql server 2005
谢谢
解决方法
你所追求的是一个多语句表函数
例如
CREATE FUNCTION dbo.fxnExample (@Param INTEGER) RETURNS @Results TABLE(FieldA VARCHAR(50)) AS BEGIN INSERT @Results SELECT SomeField FROM Somewhere WHERE ParamField = @Param RETURN END
这与您当前的函数(称为“内联表值函数”)不同,您应该注意这些差异,因为如果切换到多语句方法,这可能会导致性能问题.我的建议是尽可能尝试使用内联表值函数.我建议你查看这些详细介绍的文章:
Multi-statement Table Valued Function vs Inline Table Valued Function
http://sqlbits.com/Agenda/event6/High_performance_functions/default.aspx
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。