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

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

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

瀏覽:282日期: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久久,三上悠亚国产精品一区二区三区
水野朝阳av一区二区三区| 精品三级av| 欧美激情视频一区二区三区免费| 合欧美一区二区三区| 久久激情网站| 性感美女一区二区在线观看| 国产一区二区三区四区| 久久伊人国产| 久久不见久久见免费视频7| 日韩精品免费视频一区二区三区 | 日韩1区2区3区| 日本欧洲一区二区| 国产午夜精品一区二区三区欧美 | 日韩不卡在线观看日韩不卡视频| 亚洲人成网站在线在线观看| 亚洲日本国产| 热久久久久久久| 视频一区在线播放| 一区二区精彩视频| 日韩有吗在线观看| 国产日韩欧美一区二区三区| 日韩1区2区3区| 国产欧美午夜| 国产极品嫩模在线观看91精品| 国产精品资源| 精品久久久中文字幕| 成人午夜在线| 99精品在线免费在线观看| 久久精品亚洲人成影院| 成人羞羞视频在线看网址| 亚洲不卡av不卡一区二区| 亚洲手机在线| 国产精品日本| 日韩综合小视频| 欧美黑人做爰爽爽爽| 精品91福利视频| 国产高清不卡| 99视频精品| 日韩精品导航| 久久精品色播| 久久香蕉国产| 一二三区精品| 欧美国产日韩电影| 中文字幕在线官网| 亚洲欧美日韩国产一区二区| 日韩精品第二页| 丰满少妇一区| 欧美日韩视频| 日本不卡视频在线观看| 精品亚洲a∨一区二区三区18| 美女av在线免费看| 99成人在线视频| 蜜臀91精品一区二区三区| 欧美精品中文字幕亚洲专区| 国产精品麻豆久久| 午夜一级久久| 国产精品密蕾丝视频下载| 精品亚洲美女网站| 免费在线观看精品| 国产精品三p一区二区| 日本欧美不卡| 国产精品一区二区美女视频免费看| 电影91久久久| 六月丁香综合| 麻豆中文一区二区| 国产一区亚洲| 三级久久三级久久久| 精品午夜av| 日韩中文字幕亚洲一区二区va在线| 日韩av中文字幕一区二区三区| 国产一区二区三区亚洲| 99国产精品视频免费观看一公开| 日韩激情视频网站| 日韩在线短视频| 日韩欧美在线精品| 久久久久免费av| 欧美日韩亚洲一区在线观看| 久久精品青草| 国产精品22p| 国产农村妇女精品一二区 | 日韩精品视频中文字幕| 中文字幕高清在线播放| 日本欧美在线| 久久精品国内一区二区三区水蜜桃| 日本亚洲视频| 久久久久免费av| 欧美激情精品| 亚洲资源在线| 成人啊v在线| 国产精品亚洲综合久久| 午夜影院欧美| 狠狠躁少妇一区二区三区| 欧美久久一区二区三区| 婷婷亚洲五月| 精品国产麻豆| 爽好久久久欧美精品| 久久久夜精品| 麻豆中文一区二区| 综合欧美精品| 91久久在线| 欧美日韩在线观看视频小说| 老色鬼精品视频在线观看播放| 爽好多水快深点欧美视频| 91精品一区二区三区综合| 日韩精品高清不卡| 免费在线观看成人| 蜜臀av免费一区二区三区| 国产+成+人+亚洲欧洲在线| 日韩成人精品一区二区三区| 亚洲色诱最新| 日韩大片在线| 精品中文字幕一区二区三区 | 91精品观看| 伊人久久视频| 欧美国产另类| 国产乱论精品| 日韩av中文字幕一区二区三区| 中文国产一区| 亚洲福利国产| 天堂中文av在线资源库| 国产亚洲欧美日韩在线观看一区二区| 国产亚洲午夜| 色婷婷色综合| 精品久久电影| 狂野欧美性猛交xxxx| 国产精品欧美三级在线观看| 亚洲精品日本| 亚洲综合图色| 欧美在线综合| 丝袜亚洲另类欧美| 亚洲欧洲一区二区天堂久久| 亚洲精品99| 一区在线视频观看| 欧美午夜不卡| 在线亚洲观看| 亚洲专区欧美专区| 亚洲视频www| 国产精品日韩| 亚洲一二av| 亚洲欧美一级| 97成人在线| 国产日韩欧美三级| 国产黄色精品| 精品久久久久久久| 亚洲精品成人图区| 免费不卡中文字幕在线| 亚洲视频播放| 亚洲精品麻豆| 日韩成人午夜精品| 国产精品115| 精品久久在线| 久久97视频| 色一区二区三区| 久久久久99| 久久精品电影| 羞羞答答国产精品www一本| 亚洲免费资源| 国产乱码精品| 91亚洲国产| 欧洲激情综合| 99视频精品| 91欧美极品| 电影91久久久| 亚洲高清不卡| 麻豆精品网站| 欧美天堂一区| 免费看一区二区三区| 日韩欧美自拍| 中文在线不卡| 欧美日一区二区在线观看| 国际精品欧美精品| 亚洲高清不卡| 日韩手机在线| 精品中文字幕一区二区三区四区| 亚洲啊v在线| 亚洲一区二区三区高清| 日韩精品一区二区三区中文在线| 麻豆精品在线| 久久高清免费观看| 国产伦理久久久久久妇女| 国产精品蜜芽在线观看| 亚洲午夜黄色| 日韩av一区二区三区四区| zzzwww在线看片免费| 欧美午夜不卡| 国产精品一区二区三区av麻| 日韩电影二区| 三级欧美在线一区| 精品国产一区二区三区噜噜噜| 久久久久午夜电影| 日韩av三区| 久久久久国产精品一区三寸| 日韩欧乱色一区二区三区在线| 精品三级久久久| 国产精品免费看| 国产精品videossex久久发布| 欧美日韩在线观看首页| 日韩精品一区二区三区免费视频| 中文字幕在线视频网站| 亚洲欧美一级|