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
Ïà¹ØÎĵµ£º
½ñÌìÔÚÍøÉÏÉÏ¿´¼ûһƪ“½«SQL²éѯ½á¹ûת»¯Îªpojo¶ÔÏóµÄ”²©¿Í£¬²©Ö÷×Ô¶¨Òå×öÁËÒ»¸öÀàÈçÏ£º
import java.lang.reflect.Field;
import java.util.List;
import org.hibernate.HibernateException;
import org.hibernate.property.ChainedPropertyAccessor;&n ......
ͨÅä·û ˵Ã÷
_ ÓëÈÎÒâµ¥×Ö·ûÆ¥Åä
% Óë°üº¬Ò»¸ö»ò¶à¸ö×Ö·ûµÄ×Ö·û´®Æ¥Åä
[ ] ÓëÌØ¶¨·¶Î§£¨ÀýÈ磬[a-f]£©»òÌØ¶¨¼¯£¨ÀýÈ磬[abcdef]£©ÖеÄÈÎÒâµ¥×Ö·ûÆ¥Åä¡£
[^] ÓëÌØ¶¨·¶Î§£¨ÀýÈ磬[^a-f]£©»òÌØ¶¨¼¯£¨ÀýÈ磬[^abcdef]£©Ö®ÍâµÄÈÎÒâµ¥×Ö·ûÆ¥Åä¡£ ......
1. SQLÓÅ»¯µÄÔÔòÊÇ£º
½«Ò»´Î²Ù×÷ÐèÒª¶ÁÈ¡µÄBLOCKÊý¼õµ½×îµÍ,¼´ÔÚ×î¶ÌµÄʱ¼ä´ïµ½×î´óµÄÊý¾ÝÍÌÍÂÁ¿¡£
µ÷Õû²»Á¼SQLͨ³£¿ÉÒÔ´ÓÒÔϼ¸µãÇÐÈ룺
¼ì²é²»Á¼µÄSQL£¬¿¼ÂÇÆäд·¨ÊÇ·ñ»¹ÓпÉÓÅ»¯ÄÚÈÝ
¼ì²é×Ó²éѯ ¿¼ÂÇSQL×Ó²éѯÊÇ·ñ¿ÉÒÔÓüòµ¥Á¬½Óµ ......
Õª×Ôhttp://hi.baidu.com/dusongw/blog/item/4090493d6ec0cdee3d6d97a6.html
ÎÒ½«ÒÔ“°ì¹«×Ô¶¯»¯”ϵͳΪÀý£¬Ì½ÌÖÈçºÎÔÚÓÐ×Å1000ÍòÌõÊý¾ÝµÄMS SQL SERVERÊý¾Ý¿âÖÐʵÏÖ¿ìËÙµÄÊý¾ÝÌáÈ¡ºÍÊý¾Ý·ÖÒ³¡£ÒÔÏ´úÂë˵Ã÷ÁËÎÒÃÇʵÀýÖÐÊý¾Ý¿âµÄ“ºìÍ·Îļþ”Ò»±íµÄ²¿·ÖÊý¾Ý½á¹¹£º
CREATE TABL ......
USE AdventureWorks
GO
CREATE PROC spEmployee
AS
SELECT * from Humanresources.Employee
EXEC spEmployee
ALTER PROC spEmployee
AS SELECT EmployeeID from Humanresources.Employee
drop proc spEmployee
ALTER PROC spEmployee
@LastName nvarchar(50) = NULL
AS
IF @LastName IS NULL
SELECT * f ......