Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

SQLServer : EXECºÍsp_executesqlµÄÇø±ð

Author URL:http://www.cnblogs.com/xbf321/archive/2008/11/02/1325067.html
Microsoft URL:http://technet.microsoft.com/zh-cn/library/ms188001.aspx
ÕªÒª
1,EXECµÄʹÓÃ
2£¬sp_executesqlµÄʹÓÃ
       MSSQLΪÎÒÃÇÌṩÁËÁ½ÖÖ¶¯Ì¬Ö´ÐÐSQLÓï¾äµÄÃüÁ·Ö±ðÊÇEXECºÍsp_executesql;ͨ³£,sp_executesqlÔò¸ü¾ßÓÐÓÅÊÆ£¬ËüÌṩÁËÊäÈëÊä³ö½Ó¿Ú£¬¶øEXECûÓС£»¹ÓÐÒ»¸ö×î´óµÄºÃ´¦¾ÍÊÇÀûÓÃsp_executesql£¬Äܹ»ÖØÓÃÖ´Ðмƻ®£¬Õâ¾Í´ó´óÌṩÁËÖ´ÐÐÐÔÄÜ(¶ÔÓÚÕâ¸öÎÒÔÚºóÃæµÄÀý×ÓÖлáÏê¼Ó˵Ã÷)£¬»¹¿ÉÒÔ±àд¸ü°²È«µÄ´úÂë¡£EXECÔÚijЩÇé¿öÏ»á¸üÁé»î¡£³ý·ÇÄúÓÐÁîÈËÐÅ·þµÄÀíÓÉʹÓÃEXEC£¬·ñ²à¾¡Á¿Ê¹ÓÃsp_executesql.
1,EXECµÄʹÓÃ
EXECÃüÁîÓÐÁ½ÖÖÓ÷¨£¬Ò»ÖÖÊÇÖ´ÐÐÒ»¸ö´æ´¢¹ý³Ì£¬ÁíÒ»ÖÖÊÇÖ´ÐÐÒ»¸ö¶¯Ì¬µÄÅú´¦Àí¡£ÒÔÏÂËù½²µÄ¶¼ÊǵڶþÖÖÓ÷¨¡£
ÏÂÃæÏÈʹÓÃEXECÑÝʾһ¸öÀý×Ó,´úÂë1
DECLARE @TableName VARCHAR(50),@Sql NVARCHAR(MAX),@OrderID INT;
SET @TableName = 'Orders';
SET @OrderID = 10251;
SET @sql = 'SELECT * from '+QUOTENAME(@TableName) +'WHERE OrderID = '+CAST(@OrderID AS VARCHAR(10))+' ORDER BY ORDERID DESC'
EXEC(@sql);
×¢£ºÕâÀïµÄEXECÀ¨ºÅÖÐÖ»ÔÊÐí°üº¬Ò»¸ö×Ö·û´®±äÁ¿£¬µ«ÊÇ¿ÉÒÔ´®Áª¶à¸ö±äÁ¿£¬Èç¹ûÎÒÃÇÕâÑùдEXEC£º
EXEC('SELECT TOP('+ CAST(@TopCount AS VARCHAR(10)) +')* from '+QUOTENAME(@TableName) +' ORDER BY ORDERID DESC');
 
SQL±àÒëÆ÷¾Í»á±¨´í£¬±àÒ벻ͨ¹ý£¬¶øÈç¹ûÎÒÃÇÕâÑù£º
EXEC(@sql+@sql2+@sql3);
±àÒëÆ÷¾Í»áͨ¹ý£»
 
ËùÒÔ×î¼ÑµÄ×ö·¨ÊǰѴúÂë¹¹Ôìµ½Ò»¸ö±äÁ¿ÖУ¬È»ºóÔٰѸñäÁ¿×÷ΪEXECÃüÁîµÄÊäÈë²ÎÊý£¬ÕâÑù¾Í²»»áÊÜÏÞÖÆÁË£»
 
EXEC²»Ìṩ½Ó¿Ú
ÕâÀïµÄ½Ó¿ÚÊÇÖ¸£¬Ëü²»ÄÜÖ´ÐÐÒ»¸ö°üº¬Ò»¸ö´ø±äÁ¿·ûµÄÅú´¦Àí£¬ÕâÀïÕ§Ò»ÌýºÃÏñ²»Ã÷°×£¬²»Òª½ô£¬ÎÒÔÚÏÂÃæÓÐÒ»¸öʵÀý£¬ÄúÒ»¿´¾ÍÖªµÀʲôÒâ˼.
DECLARE @TableName VARCHAR(50),@Sql NVARCHAR(MAX),@OrderID INT;
SET @TableName = 'Orders';
SET @OrderID = 10251;
SET @sql = 'SELECT * from '+QUOTENAME(@TableName) +'WHERE OrderID = @OrderID ORDER BY ORDERID DESC'
EXEC(@sql);
¹Ø¼ü¾ÍÔÚSET @sqlÕâÒ»¾ä»°ÖУ¬Èç¹ûÎÒÃÇÔËÐÐÕâ¸öÅú´¦Àí£¬±àÒëÆ÷¾Í»á²úÉúһϴíÎó
Msg 137, Level 15, State 2, Line 1
±ØÐëÉùÃ÷±êÁ¿±äÁ¿ "@OrderID"¡£
ʹÓÃEXECʱ£¬Èç¹ûÄúÏë·ÃÎʱäÁ¿£¬±ØÐë°Ñ±äÁ¿ÄÚÈÝ´®Áªµ½¶¯Ì¬¹¹½¨µÄ´úÂ


Ïà¹ØÎĵµ£º

sqlserver·ÖÒ³

ÏÖÔÚÒ»°ã³£ÓõÄÓÐÒÔÏÂ2ÖÖ·½·¨:
1. select top @pagesize * from table1 where id not in  (select top @pagesize*(@page-1) id  from table1 order by id) order by id
2. select *  from (select top @pagesize * from (select top @pagesize*@page * from table1 order by id) a order by id desc) b or ......

sqlserverÊý¾ÝÀàÐÍ×ܽá

ÔÚ¼ÆËã»úÖÐÊý¾ÝÓÐÁ½ÖÖÌØÕ÷£ºÀàÐͺͳ¤¶È¡£ËùνÊý¾ÝÀàÐ;ÍÊÇÒÔÊý¾ÝµÄ±íÏÖ·½Ê½ºÍ´æ´¢·½Ê½À´»®·ÖµÄÊý¾ÝµÄÖÖÀà¡£
     ÔÚSQL Server ÖÐÿ¸ö±äÁ¿¡¢²ÎÊý¡¢±í´ïʽµÈ¶¼ÓÐÊý¾ÝÀàÐÍ¡£ÏµÍ³ÌṩµÄÊý¾ÝÀàÐÍ·ÖΪ¼¸´óÀ࣬Èç±í4-2 Ëùʾ¡£
     ÆäÖУ¬BIGINT¡¢ SQL_VARIANT ºÍTABLE ÊÇSQL Server 2 ......

SQLServer DBA³£見問題

In the latest installment of the SQL Server interview questions, we will outline questions suitable for a DBA interview to assess the candidates skills related to SQL Server system databases. In this tip, the questions are there to read, but the answers are intentionally hidden to really test your s ......

SQLSERVER¾Û¼¯Ë÷ÒýÓë·Ç¾Û¼¯Ë÷Òý£¨×ªÔØ£©

΢ÈíµÄSQL SERVERÌṩÁËÁ½ÖÖË÷Òý£º¾Û¼¯Ë÷Òý(clustered index£¬Ò²³Æ¾ÛÀàË÷Òý¡¢´Ø¼¯Ë÷Òý)ºÍ·Ç¾Û¼¯Ë÷Òý(nonclustered index£¬Ò²³Æ·Ç¾ÛÀàË÷Òý¡¢·Ç´Ø¼¯Ë÷Òý)…… (Ò»)ÉîÈëdz³öÀí½âË÷Òý½á¹¹ ʵ¼ÊÉÏ£¬Äú¿ÉÒÔ°ÑË÷ÒýÀí½âΪһÖÖÌØÊâµÄĿ¼¡£Î¢ÈíµÄSQL SERVERÌṩÁËÁ½ÖÖË÷Òý£º¾Û¼¯Ë÷Òý(clustered index£¬Ò²³Æ¾ÛÀàË÷Òý¡¢´Ø¼ ......

SQLServerºÍOracleµÄ³£Óú¯Êý¶Ô±È

SQLServerºÍOracleµÄ³£Óú¯Êý¶Ô±È
 
1.¾ø¶ÔÖµ
S:select abs(-1) value
O:select abs(-1) value from dual
 
2.È¡Õû(´ó)
S:select ceiling(-1.001) value
O:select ceil(-1.001) value from dual
 
3.È¡Õû£¨Ð¡£©
S:select floor(-1.001) value
O:select floor(-1.001) value from dual ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ