在sql函数中声明变量
发布时间:2020-12-12 07:02:13 所属栏目:MsSql教程 来源:网络整理
导读:我有一个sql函数,我需要在该函数中声明几个变量.请告知我如何实现这一目标. 例如,我需要把 – Declare @ClientResult TABLE( RowIndex int identity(1,1),SplitText varchar(50) ) 在下面的功能. create FUNCTION [dbo].CLIENT_SHIPPINGREPORTDATA_Function_T
我有一个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://blogs.msdn.com/b/psssql/archive/2010/10/28/query-performance-and-multi-statement-table-valued-functions.aspx http://sqlbits.com/Agenda/event6/High_performance_functions/default.aspx (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |