欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

SQl Function 創(chuàng)建函數(shù)實(shí)例介紹

 更新時(shí)間:2016年10月23日 21:42:59   投稿:mdxy-dxy  
這篇文章主要介紹了SQl Function 創(chuàng)建函數(shù)實(shí)例介紹,需要的朋友可以參考下

 在SQL中系統(tǒng)已為我們提供了很非常豐富的函數(shù):例:聚會(huì)函數(shù)avg, sum,count,max,min 日期函數(shù):Day,Month,Year等等  為我們?nèi)粘i_(kāi)發(fā)節(jié)省很多時(shí)間  但是有一些特殊需求的話SQL 也提供自己創(chuàng)建函數(shù)的功能下面舉一小例子:需求: 某一訂單表 編號(hào),訂單號(hào),產(chǎn)品名稱(chēng) 要知道 某一訂單號(hào)的產(chǎn)品名稱(chēng) 名稱(chēng)之間用逗號(hào)(,)隔開(kāi) 如下圖:

我們創(chuàng)建一個(gè)標(biāo)題函數(shù): StrName 創(chuàng)建過(guò)程類(lèi)似創(chuàng)建存儲(chǔ)過(guò)程 如下:

點(diǎn)擊右鍵創(chuàng)建 表值函數(shù)與標(biāo)量函數(shù) 從名稱(chēng)就可以分出來(lái)  一個(gè)返回表(集合) 標(biāo)題(單一) 在這個(gè)小例子中因?yàn)槲覀冎环祷孛?所以創(chuàng)建一個(gè)標(biāo)量函數(shù) 代碼如下:

Create FUNCTION [dbo].[OrderDetailGetStrNameByOrderId] 
(
  @OrderId int
)
RETURNS varchar(500)
AS
BEGIN
  -- Declare the return variable here
  declare @StrPassengername varchar(500)
  set @StrPassengername=''
  select @StrPassengername=@StrPassengername+ Passengername +', ' from OrderDetail where OrderId=@OrderId
  select @StrPassengername=substring(@StrPassengername,0,len(@StrPassengername))
  -- Return the result of the function
  RETURN @StrPassengername

END

創(chuàng)建好之后在就可以像avg,sum等函數(shù)一樣的使用 減少代碼量 如下

select distinct A.OrderId,
(SELECT [dbo].[OrderDetailGetStrNameByOrderId](A.OrderId)) StrName
from OrderDetail A

完畢。

相關(guān)文章

最新評(píng)論