SQL Server 2005ÖеÄCLR(2)
ÎÄÕµ¼º½ SQL Server 2005 ѧϰ±Ê¼ÇϵÁÐÎÄÕµ¼º½
ÕâÒ»½ÚÔÛÃÇÀ´ËµËµClRµÄÐÔÄÜ£¬ÎÒÃDz»ÄÜֻʹÓÃËü¶ø²»È¥¿¼Âǵ½µÍ ΪʲôҪʹÓÃËü»òÊÇÔÚʲôʱºòÓ¦¸ÃʹÓÃËü£¬ÏñÎÒ֮ǰдµÄº¯ÊýµÃµ½Ò»¸ö×Ö·ûµÄ³¤¶ÈµÄ·½·¨¾ÍûÓÐÌ«´ó±ØÒªÁË£¬µ«Èç¹ûÊÇÏñ²ð·Ö×Ö·ûÕâÑùµÄ·½·¨Ó¦¸Ã¾ÍÓбØÒªÁË£¬±ÈÈçc#ÀïµÄSplit ()·½·¨£¬ÔÚSqlÀï¾ÍûÓÐÕâÑùµÄº¯ÊýÕâ¸öʱºò ÎÒÃǾͿÉÒÔʹÓÃClrÀ´Íê³ÉÁË£¬
ÆäʵʵÏÖ µÄ·½·¨ÊǸúÉÏÒ»½ÚSQL Server 2005ÖеÄCLR(1) ÀïµÄûÓÐÈκηֱðÖ»ÊǰѺ¯ÊýµÄ´úÂë»»³ÉÏÂÃæµÄ´úÂë¾Í¿ÉÒÔÁË
´úÂë
using System;
using System.Data;
using System.Data.SqlClient;
using System.Data.SqlTypes;
using Microsoft.SqlServer.Server;
public partial class UserDefinedFunctions
{
//±íʾע²áΪSqlÖеĺ¯Êý
[Microsoft.SqlServer.Server.SqlFunction]
public static string sqlSplit(string str, int x)
{
// ·µ»Ø×Ö·û´®µÄ³¤¶È
return str.Split(',')[x].ToString ().Trim();
}
};
ÕâÀïÊǼòµ¥µÄʵÏÖ£¬´ó¼Ò¿ÉÒÔ¸ù¾Ý×Ô¼ºµÄÐèÒªÀ´ÊµÏÖ
˵µ½ËûµÄÐÔÄÜÎÒÃÇÏÈÀ´ºÍT-SQlÓïÑԱȽÏһϰÉ
1.±à³ÌÄ£ÐÍ
T-Sql
¹ý³Ì´úÂëÄÚ²¿Ç¶Èë²éѯÓïÑÔ
Òâ˼¾ÍÊÇ˵£¬ÔÚT-SqlÀïÎÒÃÇÒ»°ãÊǰѲéѯÓï¾äдÔÚ´æ´¢¹ý³ÌÀïµÄ£¬ÕâÑùµÄЧÂʺܸߣ¬ÒòΪËüÊÇÖ±½Ó·ÃÎÊÊý¾Ý¿â£¬µ«ÊÇÈç¹û³öÏÖ²»Í¬Êý¾Ý¿â¼äµÄÒÆÖ²¾ÍºÜ²»·½±ãÁË
CLR
¡¡¡¡¡¡intp-proc ado.netÊý¾Ý·ÃÎÊ£¨ÕâÀïÒªµ¼º½Ò»¸öusing System.Data.SqlClient;£©
×¢£º Ïà±ÈT-Sql¿Ï¶¨ÊÇÔÚÖ´ÐÐЧÂÊÉÏÓÐЩ²»×ãÁË£¬ÒòΪËü±Ï¾¹ÊǾ¹ýÒ»²ãµÄ·â×°µÄ£¬¶ø×îºó»¹ÊÇͨ¹ýAdoÀ´Ö´ÐÐT-SQlÓï¾ä£¬µ«Ò²²»ÊÇÍêȫûÓÐÓÃÎäÖ®µØ
ÈÝÒ×ÔÚ¸÷²ãÖ®¼äÒÆ¶¯´úÂëºÍÀûÓÃÏÖÓм¼Êõ
 
Ïà¹ØÎĵµ£º
½ñÌì¿ÉÒÔ»»»»ÄÔ×ÓÁË£¬¶ªµôeclipse£¬ÍæÍæsqlÁË£¬ËäȻֻÊÇÔÚÃüÁîÐд°¿Ú
ÏÈ˵һϽñÌìÎÒÓöµ½µÄÎÊÌâ°É£¬¿ªÊ¼°´ÕÕÀÏʦµÄ²¿Êð£¬×öµÄ¶¼ºÜ˳Àû£¬µ«Êǵ±½¨Á¢ºÃÊý¾Ý¿âÖ®ºó£¬½¨Á¢±í½á¹¹µÄʱºò¾Í³ö´íÁË£¬ÔÒòÊÇÔÚÅäÖÃmysqlµÄʱºò£¬È¨ÏÞÅäÖôíÁË£¬ËùÒÔ˵ǧÀïÖ®µÌ»ÙÓÚÒÏѨ£¬º¦µÄÎÒÕûÁËÒ»¸öÖÐÎ磬ÕâʱÌáʾµÄ´íÎóÊÇERROR 1005: Can't creat ......
DDL—Êý¾Ý¶¨ÒåÓïÑÔ(CREATE£¬ALTER£¬DROP£¬DECLARE)
¡¡¡¡DML—Êý¾Ý²Ù×ÝÓïÑÔ(SELECT£¬DELETE£¬UPDATE£¬INSERT)
¡¡¡¡DCL—Êý¾Ý¿ØÖÆÓïÑÔ(GRANT£¬REVOKE£¬COMMIT£¬ROLLBACK)
¡¡¡¡Ê×ÏÈ,¼òÒª½éÉÜ»ù´¡Óï¾ä£º
¡¡¡¡1¡¢ËµÃ÷£º´´½¨Êý¾Ý¿â
CREATE DATABASE database-name
¡¡¡¡2¡¢ËµÃ÷£ºÉ¾³ýÊý¾Ý¿â
drop database ......
Ò»¡¢³õʼ°²×°ÇëÏȰ²×°sqlserver 2000 ÔÙ°²×°sqlserver 2005
¶þ¡¢Èç¹ûÖÐ;sqlserver2000Óöµ½ÎÊÌâÐèÒªÖØ×°£¬Çë°´ÒÔϲ½Öè
1.ÔÚ¿ØÖÆÃæ°å->Ìí¼Óɾ³ý³ÌÐòÖÐɾ³ýsqlserver2000
2.ÔÚ¹ÜÀí¹¤¾ß->·þÎñÖÐÍ£Ö¹sqlserverµÄËùÓзþÎñ
3.ÊÖ¶¯É¾³ýC:\Program Files\Microsoft SQL ServerĿ¼ÏµÄ80Ŀ¼ºÍMSSQLĿ¼£¨±ØÐëÒªÓеڶþ² ......
{
SqlConnection cnn = new SqlConnection
("context connection=true");
cnn.Open();
SqlCommand cmd = new SqlCommand();
cmd.Connection = cnn;
cmd.CommandText = "select * from customers";
SqlDataReader reader = cmd.ExecuteReader();
SqlContext.Pipe.Send(reader);
reader.Close();
cnn.Close();
}
......
ÔÚsqlÖд´½¨Óû§×Ô¶¨Ò寴Òôº¯Êý£º
create function f_GetPy(@Str nvarchar(400))
returns nvarchar(4000)
as
begin
declare @strlen int,@re nvarchar(4000)
declare @t table(chr nchar(1) collate Chinese_PRC_CI_AS,letter nchar(1))
insert @t select 'ß¹','A' union all select '°Ë','B'
union all select 'àê ......