一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

Mysql|Sql Server|Oracle|Redis|MongoDB|PostgreSQL|Sqlite|DB2|mariadb|Access|數據庫技術|

服務器之家 - 數據庫 - Sql Server - SQl Function 創建函數實例介紹

SQl Function 創建函數實例介紹

2020-05-11 15:55MSSQL教程網 Sql Server

這篇文章主要介紹了SQl Function 創建函數實例介紹,需要的朋友可以參考下

 在SQL中系統已為我們提供了很非常豐富的函數:例:聚會函數avg, sum,count,max,min 日期函數:Day,Month,Year等等  為我們日常開發節省很多時間  但是有一些特殊需求的話SQL 也提供自己創建函數的功能下面舉一小例子:需求: 某一訂單表 編號,訂單號,產品名稱 要知道 某一訂單號的產品名稱 名稱之間用逗號(,)隔開 如下圖:

SQl Function 創建函數實例介紹

我們創建一個標題函數: StrName 創建過程類似創建存儲過程 如下:

SQl Function 創建函數實例介紹

點擊右鍵創建 表值函數與標量函數 從名稱就可以分出來  一個返回表(集合) 標題(單一) 在這個小例子中因為我們只返回名字 所以創建一個標量函數 代碼如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
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等函數一樣的使用 減少代碼量 如下

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

 

完畢。

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 香蕉久久久 | 极端 成熟 性别 视频 | 嫩草影院永久在线播放 | 无人区在线观看免费完整版免费 | 日韩中文字幕网站 | 午夜国产| 亚洲 欧美 另类 中文 在线 | 俄罗斯bbbbbbbbb大片 | 闺蜜高h | 免费国产成人 | 日韩精品一区二区三区中文在线 | 9re视频这里只有精品 | 久久精品动漫网一区二区 | 欧美日韩亚洲第一区在线 | 日韩欧美一区黑人vs日本人 | fuqer日本 | 免费导航 | 亚洲性网| 免费特黄一级欧美大片在线看 | 国产精品亚洲精品青青青 | 久久天堂成人影院 | 亚洲国产精品综合一区在线 | 2021国产精品成人免费视频 | 天天干天天日天天射天天操毛片 | jm漫天堂破解版 | 色综合精品 | 日韩视频在线免费观看 | chinesemature丰满成熟 | 日本96在线精品视频免费观看 | 91精品国产91久久久久久麻豆 | 成人啪精品视频免费网站 | 免费全看男女拍拍拍的视频 | 国产女王女m视频vk 国产农村一级特黄α真人毛片 | 亚洲热图 | kuaibo成人播放器 | 精品一区二区国语对白 | 日韩高清在线观看 | 91热爆在线 | 国产一区二区免费在线 | 亚洲国产成人久久77 | 男人把大ji巴放进男人免费视频 |