SQL CLR ¼¯³É
Ò»¡¢ÅäÖà SQL Server£¬Ê¹Ö®ÔÊÐí CLR ¼¯³É:
¡¡¡¡1.µ¥»÷“¿ªÊ¼”°´Å¥£¬ÒÀ´ÎÖ¸Ïò“ËùÓгÌÐò”¡¢Microsoft SQL Server 2005 ºÍ“ÅäÖù¤¾ß”£¬È»ºóµ¥»÷“ÍâΧӦÓÃÅäÖÃÆ÷”¡£
¡¡¡¡2.ÔÚ SQL Server 2005 ÍâΧӦÓÃÅäÖÃÆ÷¹¤¾ßÖУ¬µ¥»÷“¹¦ÄܵÄÍâΧӦÓÃÅäÖÃÆ÷”¡£
¡¡¡¡3.Ñ¡ÔñÄúµÄ·þÎñÆ÷ʵÀý£¬Õ¹¿ª“Êý¾Ý¿âÒýÇæ”Ñ¡ÏȻºóµ¥»÷“CLR ¼¯³É”¡£
¡¡¡¡4.Ñ¡Ôñ“ÆôÓà CLR ¼¯³É”¡£
´ËÍ⣬Äú¿ÉÒÔÔÚ SQL Server ÖÐÔËÐÐÒÔϲéѯ£¨´Ë²éѯÐèÒª ALTER SETTINGS ȨÏÞ£©:
USE [database]
sp_configure 'clr enabled', 1;
GO
RECONFIGURE;
GO
¶þ¡¢´´½¨ SQL Server Project£¬ÅäÖÃÊý¾Ý¿âÁ¬½ÓÐÅÏ¢¡£ÓÒ¼ü´ò¿ª¸ÃÏîÄ¿ÊôÐÔ£¬Ñ¡Ôñ“database ”£¬½«Permission LevelÉèΪ“unsafe”
Èý¡¢
ÏîÄ¿´´½¨ºóÌí¼ÓÒ»¸ö.cs Îļþ£¬ÈçÏÂÑÝʾÈçºÎ½øÐбíÖµº¯ÊýÀ©Õ¹
using System;
using System.Collections.Generic;
using System.Text;
using Microsoft.SqlServer.Server;
using System.Diagnostics;
using System.Data.SqlTypes;
using System.Collections;
public partial class FuncTest
{
//±íÖµº¯Êý¶¨Òå.µÚÒ»¸ö·½·¨ (InitMethod) ¸³Óè SqlFunction ÊôÐÔ£¬ÓÃÓÚ½«ËüÖ¸¶¨Îª¸Ã±íÖµº¯ÊýµÄÈë¿Úµã
//´Ë·½·¨±ØÐë·µ»Ø IEnumerable »ò IEnumerator ¶ÔÏ󡣸öÔÏó°üº¬½«ÓÃÓÚÌî³ä·µ»Ø±íµÄÊý¾Ý¡£
//Ö´Ðиú¯Êýʱ£¬SQL Server ½«Ñ»··ÃÎÊ IEnumerator ¶ÔÏóÖеÄÿ¸ö¶ÔÏ󣬲¢Ê¹ÓÃËüÀ´Ìî³äÊý¾ÝÐС£
//Ϊ´Ë£¬ËüÒª½«¸Ã¶ÔÏ󴫵ݵ½¸ÃÀàÖеĵڶþ¸ö·½·¨ FillRow¡£´Ë·½·¨»á½«¸Ã¶ÔÏóת»»³É·µ»Ø±íÖеÄijһÐС£
//´Ë·½·¨ÔÚ SqlFunction ÊôÐ﵀ FillRowMethodName ²ÎÊýÖÐÖ¸¶¨
//²¿ÊðÏîÄ¿ºóÔÚÊý¾Ý¿âÖлáÉú³ÉÏàÓ¦µÄ±íÖµº¯Êýdbo.ReadEventLog
[SqlFunction(TableDefinition = "logTime datetime,Message nvarchar(4000),Category nvarchar(4000),InstanceId bigint",
Name = "ReadEventLog", FillRowMethodName = "F
Ïà¹ØÎĵµ£º
¹Ì¶¨³¤¶È(char)Óë¿É±ä³¤¶È(varchar)×Ö·ûÊý¾ÝÀàÐÍ
char[(n)]
³¤¶ÈΪn¸ö×ֽڵĹ̶¨³¤¶ÈÇÒ·ÇUnicodeµÄ×Ö·ûÊý¾Ý¡£n±ØÐëÊÇÒ»¸ö½éÓÚ1ºÍ8,000Ö®¼äµÄÊýÖµ¡£´æ´¢´óСΪn¸ö×Ö½Ú¡£charÔÚSQL-92ÖеÄͬÒå´ÊΪcharacter¡£
varchar[(n)]
³¤¶ÈΪn¸ö×ֽڵĿɱ䳤¶ÈÇÒ·ÇUnicodeµÄ×Ö·ûÊý¾Ý¡£n±ØÐëÊÇÒ»¸ö½éÓÚ1ºÍ8,000Ö®¼äµÄÊýÖµ¡£´æ´¢´óСΪ ......
ch02
--3-4
select * from orders
where 'México D.F.' in
(select City
from Customers
where Orders.CustomerID = Customers.CustomerID )
--3-5
select * from orders
where 'usa' =
(select Country
from Customers
where Orders.CustomerID = Customers.CustomerID )
--4-1
select * from or ......
SQLÓï¾äµ¼Èëµ¼³ö
/******* µ¼³öµ½excel
EXEC master..xp_cmdshell 'bcp SettleDB.dbo.shanghu out c:\temp1.xls -c -q -S"GNETDATA/GNETDATA" -U"sa" -P""'
/*********** µ¼ÈëExcel
SELECT *
from OpenDataSource( 'Microsoft.Jet.OLEDB.4.0',
'Data Source="c:\test.xls";User ID=Admin;Password=;Extended propert ......
ÓÅ»¯Æ÷ÔÚÐγÉÖ´Ðмƻ®Ê±ÐèÒª×öµÄÒ»¸öÖØÒªÑ¡ÔñÊÇÈçºÎ´ÓÊý¾Ý¿â²éѯ³öÐèÒªµÄÊý¾Ý¡£¶ÔÓÚSQLÓï¾ä´æÈ¡µÄÈκαíÖеÄÈκÎÐУ¬¿ÉÄÜ´æÔÚÐí¶à´æÈ¡Â·¾¶(´æÈ¡·½·¨)£¬Í¨¹ýËüÃÇ¿ÉÒÔ¶¨Î»ºÍ²éѯ³öÐèÒªµÄÊý¾Ý¡£ÓÅ»¯Æ÷Ñ¡ÔñÆäÖÐ×ÔÈÏΪÊÇ×îÓÅ»¯µÄ·¾¶¡£
¡¡¡¡ÔÚÎïÀí²ã£¬oracle¶ÁÈ¡Êý¾Ý£¬Ò»´Î¶ÁÈ¡µÄ×îСµ¥Î»ÎªÊý¾Ý¿â¿é(Óɶà¸öÁ¬ÐøµÄ²Ù×÷ϵͳ¿é×é³É ......
SQLº¯Êý
ÔÚSQLÖУ¬º¯Êý¶ÔÊý¾Ý»òÊý¾Ý×éÖ´ÐвÙ×÷£¬È»ºó·µ»ØÐèÒªµÄÖµ¡£º¯Êý±í´ïʽ¿ÉÒÔ³öÏÖÔÚSELECTÁбíÖУ¬»òÕß
ÔÚÈκÎÔÊÐí³öÏÖµÄλÖÃÉÏ¡£SQL°üº¬ÁËÆßÖÖº¯Êý:
(1)¾ÛºÏº¯Êý:·µ»Ø»ã×ÜÖµ¡£
(2)תÐͺ¯Êý:½«Ò»ÖÖÊý¾ÝÀàÐÍת»»ÎªÁíÍâÒ»ÖÖ¡£
(3)ÈÕÆÚº¯Êý:´¦ÀíÈÕÆÚºÍʱ¼ä¡£
(4)Êýѧº¯Êý:Ö´ÐÐËãÊõÔËËã¡£
(5)×Ö·û´®º¯Êý:¶Ô×Ö·û´ ......