程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> 其他數據庫知識 >> MSSQL >> SQl Function 創立函數實例引見

SQl Function 創立函數實例引見

編輯:MSSQL

SQl Function 創立函數實例引見。本站提示廣大學習愛好者:(SQl Function 創立函數實例引見)文章只能為提供參考,不一定能成為您想要的結果。以下是SQl Function 創立函數實例引見正文


 在SQL中體系已為我們供給了很異常豐碩的函數:例:聚首函數avg, sum,count,max,min 日期函數:Day,Month,Year等等  為我們平常開辟節儉許多時光  然則有一些特別需求的話SQL 也供給本身創立函數的功效上面舉一小例子:需求: 某一定單表 編號,定單號,產物稱號 要曉得 某一定單號的產物稱號 稱號之間用逗號(,)離隔 以下圖:

我們創立一個題目函數: StrName 創立進程相似創立存儲進程 以下:

點擊右鍵創立 表值函數與標量函數 從稱號便可以分出來  一個前往表(聚集) 題目(單一) 在這個小例子中由於我們只前往名字 所以創立一個標量函數 代碼以下:

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

創立好以後在便可以像avg,sum等函數一樣的應用 削減代碼量 以下

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

終了。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved