SQL Server CLRÈ«¹¦ÂÔÖ®¶þ
´ÓÕâÒ»½Ú¿ªÊ¼ÄØ£¬ÎÒÃǾÍÒª¿ªÊ¼CLRµÄ±à³ÌÖ®ÂÃÁË¡£ÔÚÕâ֮ǰ£¬ÎÒÏȰѱ¾½ÚÖÐÐèÒªÁ˽âµÄÁ½¸öÐÂÀàSqlDataRecordºÍSqlMetaData£¬¼°Îå¸öз½·¨SqlContext.Pipe.SendResultsStart£¬SqlContext.Pipe.SendResultsRow£¬SqlContext.Pipe.SendResultsEnd£¬SqlContext.Pipe.SendºÍSqlContext.Pipe.ExecuteAndSend½øÐÐһϱØÒªµÄ˵Ã÷£¬·½±ã´ó¼ÒÔĶÁºóÐøµÄ´úÂë¡£
Ê×ÏÈSqlDataRecordºÍSqlMetaDataÊÇÊý¾Ý¼¯ºÏºÍÔÊý¾ÝµÄÒâ˼¡£¿ÉÒÔ¼òµ¥µÄ°ÑSqlDataRecordÀí½â³ÉDataTable£¬°ÑSqlMetaDataÀí½â³ÉDataColumn¡£ÎÒÃÇÔÙÏòSqlDataRecordÀïÃæÌî³äÊý¾Ý֮ǰҪÏÈÖ´ÐÐSqlContext.Pipe.SendResultStart()·½·¨£¬¸æËßÊý¾Ý¿âÏÂÃæ¿ªÊ¼Ìî³äÊý¾Ý£¬Ê¹ÓÃSqlContext.Pipe.SendResultRow·½·¨À´Ìî³äÊý¾Ý£¬Ìî³ä½áÊøºóʹÓÃSqlContext.Pipe.SendResultEnd·½·¨À´½áÊøÌî³ä¡£ÕâЩ¶¼ÊÇ»ù±¾Á÷³Ì£¬Ã»Ê²Ã´ºÃ½âÊ͵ģ¬Ö»ÒªÕÕ×ÅÈ¥×ö¾Í¿ÉÒÔÁË¡£
SqlContext.Pipe.SendÊÇÏò¿Í»§¶Ë·¢ËÍÒ»Ìõ½á¹û£¬SqlContext.Pipe.ExecuteAndSendÊÇÖ´ÐÐÒ»ÌõÓï¾ä¡£
ÏÂÃæÎÒ½«Óü¸¸öʵ¼ÊµÄ¼òµ¥Àý×ÓÀ´ËµÃ÷ÈçºÎʹÓÃÕ⼸¸ö·½·¨¡£
1.ʹÓÃSqlContext.Pipe.Send¹¹½¨ÎÞ²ÎÎÞ·µ»ØÖµµÄ´æ´¢¹ý³Ì
[Microsoft.SqlServer.Server.SqlProcedure]
public static void USP_SayHello()
{
SqlContext.Pipe.Send("USP:Hello TJVictor!");
}
2.ʹÓÃSqlContext.Pipe.Send¹¹½¨´ø²ÎÎÞ·µ»ØÖµµÄ´æ´¢¹ý³Ì
[Microsoft.SqlServer.Server.SqlProcedure]
public static void USP_SayHelloByParameter(SqlString msg)
{
SqlContext.Pipe.Send(msg.ToString());
}
3.ʹÓÃSqlContext.Pipe.Send¹¹½¨´ø²ÎÓзµ»ØÖµµÄ´æ´¢¹ý³Ì
[Microsoft.SqlServer.Server.SqlProcedure]
public static SqlInt32 USP_SayHelloByReturn(SqlString msg)
{
return msg.ToString().Length;
}
4.ʹÓÃSqlCommandÀ´Ö´ÐÐÓï¾ä£¬×¢ÒâÕâÀïʹÓÃÁËSQL Server×Ô´øµÄpubsÊý¾Ý¿â
[Microsoft.SqlServer.Server.SqlProcedure]
public static void USP_ExecuteBySqlCommand(SqlString stor_id, SqlString stor_name)
{
//ÓÉÓÚ³ÌÐòÊÇÔÚSQL ServerÄÚÖ´ÐУ¬ËùÒÔÁ¬½Ó×Ö·û´®Ð´³É"context connection=true"¼´¿É
using (SqlConnection con = new SqlConnection("context connection=true"))
{
con.Open
Ïà¹ØÎĵµ£º
http://blog.csdn.net/fenglibing/archive/2007/10/24/1841537.aspx
1¡¢½«Ò»¸ö±íÖеÄÄÚÈÝ¿½±´µ½ÁíÍâÒ»¸ö±íÖÐ
insert into testT1(a1,b1,c1) select a,b,c from test;
insert into testT select * from test; (ǰÌáÊÇ兩個±íµÄ結構ÍêÈ«Ïàͬ)
insert into notebook(id,title,content)
se ......
ǰÑÔ
SQL Server 2005¿ªÊ¼Ö§³Ö±í·ÖÇø£¬ÕâÖÖ¼¼ÊõÔÊÐíËùÓеıí·ÖÇø¶¼±£´æÔÚͬһ̨·þÎñÆ÷ÉÏ¡£Ã¿Ò»¸ö±í·ÖÇø¶¼ºÍÔÚij¸öÎļþ×é(filegroup)Öеĵ¥¸öÎļþ¹ØÁª¡£Í¬ÑùµÄÒ»¸öÎļþ/Îļþ×é¿ÉÒÔÈÝÄɶà¸ö·ÖÇø±í¡£ÔÚÕâÖÖÉè¼Æ¼Ü¹¹Ï£¬Êý¾Ý¿âÒýÇæÄܹ»Åж¨²éѯ¹ý³ÌÖÐÓ¦¸Ã·ÃÎÊÄĸö·ÖÇø£¬¶ø²»ÓÃɨÃèÕû¸ö±í¡£Èç¹û²éѯÐèÒªµÄÊý¾ÝÐзÖÉ¢ÔÚ¶à¸ö·ÖÇøÖ ......
ÕâÀï½éÉÜsql server2005ÀïÃæµÄÒ»¸öʹÓÃʵÀý£º
CREATE TABLE tb(province nvarchar(10),city nvarchar(10),score int)
INSERT tb SELECT 'ÉÂÎ÷','Î÷°²',3
UNION ALL SELECT 'ÉÂÎ÷','°²¿µ',4
UNION ALL SELECT 'ÉÂÎ÷','ººÖÐ',2
UNION ALL SELECT '¹ã¶«','¹ãÖÝ',5
UNION ALL SELECT '¹ã¶«','Ö麣',2
UNION ......
Èç¹ûtemp_t1²»´æÔÚ£¬
oracle:
create table temp_t1
as
select * from t1
sql server:
select * into temp_t1 from t1
Èç¹ûtemp_t1´æÔÚ£¬
oracle:
insert into table temp_t1
select * from t1
sql server:
insert into table temp_t1
select * from t1 ......
select gztzid,
gztztt,
gztzbt,
gztznr,
fslxmc,
decode(fsfs, '0', 'ÎÞÐè»Ø¸´', '1', 'ÐèÒª»Ø¸´') fsfs,
&nb ......