日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

如何:創建和運行 CLR SQL Server 聚合

瀏覽:284日期:2023-11-07 10:16:15

通過向 SQL Server 項目添加“聚合”項創建 SQL 聚合。部署成功后,在托管代碼中創建的聚合像其他任何 SQL Server 聚合一樣被調用和執行。

注意; 在默認情況下,Microsoft SQL Server 中關閉了公共語言運行庫 (CLR) 集成功能。必須啟用該功能才能使用 SQL Server 項目項。若要啟用 CLR 集成,請使用 sp_configure 存儲過程的“啟用 clr”選項。有關更多信息,請參見 啟用 CLR 集成。注意; SQL Server 集合要求實現四個特別方法:Init、Accumulate、Merge 和 Terminate。有關更多信息,請參見《SQL Books Online》(SQL 聯機叢書)中的“SQL CLR .NET User-Defined Aggregate Functions”(SQL CLR .NET 用戶定義的聚合函數)主題。注意; 顯示的對話框和菜單命令可能會與幫助中的描述不同,具體取決于您現用的設置或版本。若要更改設置,請在“工具”菜單上選擇“導入和導出設置”。有關更多信息,請參見 Visual Studio 設置。

創建 SQL Server 聚合創建 SQL Server 聚合打開一個現有的“SQL Server 項目”,或者創建一個新項目。有關更多信息,請參見 如何:創建 SQL Server 項目。

從“項目”菜單中選擇“添加新項”。

在 “添加新項”對話框 中選擇“聚合”。

輸入新聚合的“名稱”。

添加執行聚合時要運行的代碼。請參見下面的第一個示例。

注意; C++ 示例在編譯時必須使用 /clr:safe 編譯器選項。

將聚合部署到 SQL Server。有關更多信息,請參見 如何:將 SQL Server 項目項部署到 SQL Server 中。

通過在 SQL Server 上執行聚合對其進行調試。請參見下面的第二個示例。

示例此示例創建對元音計數的聚合。此聚合對字符串數據類型的列中的元音計數。聚合包含以下四個必需的可運行多個線程的方法:Init、Accumulate、Merge 和 Terminate。

Visual Basic 復制代碼Imports SystemImports System.Data.SqlTypesImports Microsoft.SqlServer.Server

<Serializable()> _<SqlUserDefinedAggregate(Format.Native)> _Public Structure CountVowels

' count only the vowels in the passed-in strings Private countOfVowels As SqlInt32

Public Sub Init() countOfVowels = 0 End Sub

Public Sub Accumulate(ByVal value As SqlString) Dim stringChar As String Dim indexChar As Int32

' for each character in the given parameter For indexChar = 0 To Len(value.ToString()) - 1

stringChar = value.ToString().Substring(indexChar, 1)

If stringChar.ToLower() Like '[aeiou]' Then

' it is a vowel, increment the count countOfVowels = countOfVowels + 1 End If Next End Sub

Public Sub Merge(ByVal value As CountVowels)

Accumulate(value.Terminate()) End Sub

Public Function Terminate() As SqlString

Return countOfVowels.ToString() End FunctionEnd StructureC# 復制代碼using System;using System.Data.SqlTypes;using Microsoft.SqlServer.Server;

[Serializable][SqlUserDefinedAggregate(Format.Native)]public struct CountVowels{ // count only the vowels in the passed-in strings private SqlInt32 countOfVowels;

public void Init() { countOfVowels = 0; }

public void Accumulate(SqlString value) { // list of vowels to look for string vowels = 'aeiou'; // for each character in the given parameter for (int i=0; i < value.ToString().Length; i++) { // for each character in the vowels string for (int j=0; j < vowels.Length; j++) { // convert parameter character to lowercase and compare to vowel if (value.Value.Substring(i,1).ToLower() == vowels.Substring(j,1)) { // it is a vowel, increment the count countOfVowels+=1; } } } }

public void Merge(CountVowels value) { Accumulate(value.Terminate()); }

public SqlString Terminate() { return countOfVowels.ToString(); }}C++ 復制代碼#include 'stdafx.h'

#using <System.dll>#using <System.Data.dll>#using <System.Xml.dll>

using namespace System;using namespace System::Data;using namespace System::Data::Sql;using namespace System::Data::SqlTypes;using namespace Microsoft::SqlServer::Server;

// In order to debug your Aggregate, add the following to your debug.sql file://// SELECT LastName, COUNT(LastName) AS CountOfLastName, dbo.CountVowels(LastName) AS CountOfVowels// FROM Person.Contact// GROUP BY LastName// ORDER BY LastName//

[Serializable][SqlUserDefinedAggregate(Format::Native)]public value struct CountVowels{public: void Init() { countOfVowels = 0; }

void Accumulate(SqlString value) { // list of vowels to look for String ^vowels = 'aeiou';

// for each character in the given parameter for (int i=0; i < value.ToString()->Length; i++) { // for each character in the vowels string for (int j=0; j < vowels->Length; j++) { // convert parameter character to lowercase and compare to vowel if (value.Value->Substring(i, 1)->ToLower() == vowels->Substring(j, 1)) { // it is a vowel, increment the count countOfVowels+=1; break; } } } }

void Merge(CountVowels value) { Accumulate(value.Terminate()); }

SqlTypes::SqlString Terminate() { return countOfVowels.ToString(); }

private: // count only the vowels in the passed-in strings SqlInt32 countOfVowels;};

部署聚合后,在 SQL Server 上運行它以進行調試并驗證是否返回正確的數據。此查詢返回對 Contact 表中 LastNames 列的所有值的元音計數的結果集。

復制代碼SELECT LastName, COUNT(LastName) AS CountOfLastName, dbo.CountVowels(LastName) AS CountOfVowelsFROM Person.ContactGROUP BY LastNameORDER BY LastName

標簽: Sql Server 數據庫
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
欧美成人基地 | 欧美不卡在线| 亚洲精品成人图区| 欧美xxxx中国| 日韩激情一区| 欧美成人日韩| 欧美日韩国产探花| 鲁大师成人一区二区三区| 亚洲网址在线观看| 青青伊人久久| 精品久久视频| 国产精品99久久精品| 久久青青视频| 亚洲国产专区校园欧美| 国产亚洲福利| 日本亚洲最大的色成网站www| 天堂久久av| 国产极品模特精品一二| 9999国产精品| 九色精品91| 亚洲精品影视| 久久99青青| 91精品xxx在线观看| 国产主播一区| 在线精品观看| 国产日韩欧美| 精品久久久久中文字幕小说| 久久中文字幕av一区二区不卡| 午夜一区在线| 国产精品日本一区二区不卡视频| 97精品国产| 亚洲综合二区| 国产欧美久久一区二区三区| 91欧美在线| 亚洲神马久久| 你懂的国产精品| 国产真实久久| 国产欧美日韩精品一区二区免费| 欧美成a人国产精品高清乱码在线观看片在线观看久 | 日本久久精品| 免费视频国产一区| 日韩精品中文字幕吗一区二区 | 在线国产一区二区| 日韩欧美美女在线观看| 国产第一亚洲| 蜜臀精品一区二区三区在线观看| 国产欧美日韩影院| 欧美~级网站不卡| 色8久久久久| 国产精品成人一区二区不卡| 欧美专区在线| 精品视频网站| 亚洲永久字幕| 丰满少妇一区| 免费观看在线综合| 黑人精品一区| 日韩亚洲精品在线观看| 亚洲精品在线影院| 日本午夜免费一区二区| 精品欧美一区二区三区在线观看| 亚洲精品视频一二三区| 国产夫妻在线| 青草久久视频| 久久精品国产大片免费观看| 国产精品一区二区精品| 婷婷精品进入| 久久久久九九精品影院| 久久福利精品| 日韩精品dvd| 国产精品一区免费在线| 五月综合激情| 精品久久久久久久| 日本精品一区二区三区在线观看视频| 精品成人免费一区二区在线播放| 欧美一区成人| 蘑菇福利视频一区播放| 久久久久99| 国产69精品久久| 日韩综合小视频| 欧美日韩国产在线一区| 精品视频99| 欧美片网站免费| 日韩制服丝袜av| 欧美一区三区| 国产在线观看www| 国产调教精品| 亚洲免费成人av在线| 好看的av在线不卡观看| а√天堂8资源在线| 国产精品久久久网站| 日韩在线一区二区| 影院欧美亚洲| 日韩精品一卡| 国产福利一区二区精品秒拍| 亚洲三级网站| 日韩在线观看一区二区| 香蕉久久精品| 夜鲁夜鲁夜鲁视频在线播放| 精品国产一区二区三区性色av| 青草久久视频| 日韩高清在线不卡| 亚洲一级淫片| 在线精品国产亚洲| 玖玖玖国产精品| 国产精品丝袜xxxxxxx| 国产精品av一区二区| 日韩成人亚洲| 久久久久久黄| 亚洲涩涩在线| 久久久成人网| 久久激情中文| 国产一区久久| 婷婷六月综合| 99日韩精品| 国产亚洲毛片| 久久国产精品99国产| 首页欧美精品中文字幕| 日韩中文字幕麻豆| 蜜桃免费网站一区二区三区| 蜜臀av国产精品久久久久 | 免费久久久久久久久| 国产精品99一区二区| 色偷偷偷在线视频播放| 丝袜美腿诱惑一区二区三区 | 在线精品视频一区| 亚洲毛片视频| 日本一区中文字幕| 国产精品一区高清| 激情久久一区二区| 都市激情国产精品| 亚洲福利国产| 国产免费成人| 亚洲人亚洲人色久| 日韩国产在线一| 国产精品久久国产愉拍| 老鸭窝一区二区久久精品| 国产精品毛片一区二区在线看| 中文一区一区三区高中清不卡免费| 日韩在线二区| 欧美日韩国产综合网| 蜜臀久久久99精品久久久久久| 婷婷亚洲精品| 欧美1区2区3| 亚洲1234区| 亚洲一区成人| 青青草精品视频| 久久一区精品| 色综合www| 99热精品在线观看| 日韩av影院| 97精品一区| 在线综合视频| 91精品福利观看| 国产一区二区三区黄网站 | 精品国产日韩欧美精品国产欧美日韩一区二区三区 | 国产精品蜜月aⅴ在线| 国产成人精品一区二区免费看京 | 91精品1区| 亚洲免费一区三区| 国产色99精品9i| 福利在线免费视频| 伊人影院久久| 日韩高清在线不卡| 电影91久久久| 先锋影音久久久| 国产欧美精品| 欧美综合另类| 日本视频中文字幕一区二区三区| 韩国一区二区三区视频| 亚洲女同中文字幕| 国产毛片精品久久| 欧美日韩在线观看视频小说| 日韩中文字幕一区二区高清99| 九九九精品视频| 一本色道久久精品| 麻豆精品久久| 樱桃成人精品视频在线播放| 日本不卡中文字幕| 激情国产在线| 亚洲综合中文| av资源新版天堂在线| 亚洲香蕉久久| 国产 日韩 欧美 综合 一区| 久久国产精品久久w女人spa| 久久精品国产99国产| 黄页网站一区| 久久精品理论片| 三级在线观看一区二区| 精品精品国产三级a∨在线| 日韩视频久久| 国产精品sm| 国产精品美女| 精品久久久中文字幕| 亚洲一区欧美| 久久精品卡一| 麻豆一区二区99久久久久| 国产视频亚洲| 中文在线а√天堂| 日本亚洲欧美天堂免费| 久久免费国产|