SQL»ù±¾Ê¹ÓúʹúÂëÓÅ»¯
EXECºÍsp_executesqlµÄÇø±ð£¿
DBCC FREEPROCCACHE --¡·Çå¿Õ»º´æÖеÄÖ´Ðмƻ®
SELECT cacheobjtype,objtype,usecounts,sql from sys.syscacheobjects WHERE sql NOT LIKE '%cach%' AND sql NOT LIKE '%sys.%' --¡·²éÕÒ¶ÔÓ¦µÄ»º´æÖеĶÔÓ¦¼Æ»®
SQL ServerΪÿһ¸öµÄ²éѯ×Ö·û´®´´½¨ÐµÄÖ´Ðмƻ®£¬¼´Ê¹²éѯģʽÏàͬҲÊÇÕâÑù
EXEC³ýÁ˲»Ö§³Ö¶¯Ì¬Åú´¦ÀíÖеÄÊäÈë²ÎÊýÍ⣬ËûÒ²²»Ö§³ÖÊä³ö²ÎÊý
Ó÷¨£º
Exec('select * from CustInfo')
Exec sp_executesql N'select * from CustInfo'
declare @paraName varchar(20)
set @paraName='CustName'
Exec('select '+@paraName+' from CustInfo')--¼ÓºÅǰºó¼ÓÉϿոñ
Èç¹ûÄãÒª°ÑÊä³ö·µ»Ø¸øµ÷ÓÃÅú´¦ÀíÖеıäÁ¿£º
DECLARE @sql NVARCHAR(MAX),@RecordCount INT
SET @sql = 'SELECT COUNT(ORDERID) from Orders';
CREATE TABLE #T(TID INT);
INSERT INTO #T EXEC(@sql);
SET @RecordCount = (SELECT TID from #T)
SELECT @RecordCount
DROP TABLE #T
sp_executesqlÃüÁîÔÚSQL ServerÖÐÒýÈëµÄ±ÈEXECÃüÁîÍíһЩ£¬ËüÖ÷ÒªÎªÖØÓÃÖ´Ðмƻ®Ìṩ¸üºÃµÄÖ§³Ö¡£
ËüµÄ¹¹³É°üÀ¨£º´úÂë¿ì£¬²ÎÊýÉùÃ÷²¿·Ö£¬²ÎÊý¸³Öµ²¿·Ö
EXEC sp_executesql
@stmt = <statement>,--ÀàËÆ´æ´¢¹ý³ÌÖ÷Ìå
@params = <params>, --ÀàËÆ´æ´¢¹ý³Ì²ÎÊý²¿·Ö
<params assignment> --ÀàËÆ´æ´¢¹ý³Ìµ÷ÓÃ
@stmt²ÎÊýÊÇÊäÈëµÄ¶¯Ì¬Åú´¦Àí£¬Ëü¿ÉÒÔÒýÈëÊäÈë²ÎÊý»òÊä³ö²ÎÊý£¬ºÍ´æ´¢¹ý³ÌµÄÖ÷ÌåÓï¾äÒ»Ñù£¬Ö»²»¹ýËüÊǶ¯Ì¬µÄ£¬¶ø´æ´¢¹ý³ÌÊǾ²Ì¬µÄ£¬²»¹ýÄãÒ²¿ÉÒÔÔÚ´æ´¢¹ý³ÌÖÐʹÓÃsp_executesql;
@params²ÎÊýÓ붨ÒåÊäÈë/Êä³ö²ÎÊýµÄ´æ´¢¹ý³ÌÍ·ÀàËÆ£¬Êµ¼ÊÉϺʹ洢¹ý³ÌÍ·µÄÓï·¨ÍêȫһÑù£»
@<params assignment> Óëµ÷Óô洢¹ý³ÌµÄEXEC²¿·ÖÀàËÆ¡£
Ó÷¨£º
declare @paraName varchar(20)
set @paraName='CustName'
declare @temp nvarchar(1000)
set @temp='select ' +@paraName+ ' from CustInfo'
Exec(@temp)
exec sp_executesql @temp--ÒòΪ sp_executesqlÖ»ÄÜÖ´ÐеÄÀàÐÍΪntext/nchar/nvarchar£¬ËùÒÔ@tempÐèÒª´Óvarchar¸ÄΪnvarchar
DECLARE @TableName VARCHAR(50),@sql NVARCHAR(MAX),@OrderID INT;
SET @TableName = 'CustInfo ';
SET @OrderID = 10;
SET @sql = 'SELECT * from '+QUOTENAME(@TableName) + ' WHER
Ïà¹ØÎĵµ£º
»ù±¾µÄSql±àдעÒâÊÂÏî
¾¡Á¿ÉÙÓÃIN²Ù×÷·û£¬»ù±¾ÉÏËùÓеÄIN²Ù×÷·û¶¼¿ÉÒÔÓÃEXISTS´úÌæ¡£
²»ÓÃNOT IN²Ù×÷·û£¬¿ÉÒÔÓÃNOT EXISTS»òÕßÍâÁ¬½Ó+Ìæ´ú¡£
OracleÔÚÖ´ÐÐIN×Ó²éѯʱ£¬Ê×ÏÈÖ´ÐÐ×Ó²éѯ£¬½«²éѯ½á¹û·ÅÈëÁÙʱ±íÔÙÖ´ÐÐÖ÷²éѯ¡£¶øEXISTÔòÊÇÊ×Ïȼì²éÖ÷²éѯ£¬È»ºóÔËÐÐ×Ó²éѯֱµ½ÕÒµ½µÚÒ»¸öÆ¥ÅäÏî¡£NOT EXISTS±ÈNOT INЧÂÊ ......
SQL ÖеÄÖ÷¼üµÄ×÷ÓÃ:
Äܹ»Î¨Ò»±íʾÊý¾Ý±íÖеÄÿ¸ö¼Ç¼µÄ¡¾×ֶΡ¿»òÕß¡¾×ֶΡ¿µÄ×éºÏ¾Í³ÆÎªÖ÷Âë(Ö÷¼ü)¡£
×÷ÓÃ
1¡¢Ö÷¼üΨһµÄʶ±ðÿһ¼Ç¼;
2¡¢Ö÷¼ü½«¼Ç¼ºÍ´æ·ÅÔÚÆäËû±íÖеÄÊý¾Ý½øÐйØÁª¡£ÔÚÕâÒ»µãÉÏ£¬Ö÷¼üÊDz»Í¬±íÖи÷¼Ç¼֮¼äµÄ¼òµ¥Ö¸Õë¡£
ÈôÓÐÁ½¸ö±íA£¬B£¬keyÊÇAµÄÖ÷¼ü£¬¶øBÖÐÒ²ÓÐkey×ֶΣ¬Ôòkey¾ÍÊDZíBµÄÍâ¼ü¡£
A ......
ΪÁËÖ´ÐÐsqlÓï¾ä£¬ÎÒÃÇ»áÔÚaccessÊý¾Ý¿âÖÐÖ´ÐÐsqlÓï¾ä£¬ÕâÑù·½±ãÎÒÃÇ·ÖÎö¡£·½·¨ÈçÏ£º
´ò¿ªaccessÊý¾Ý¿â£¬µã»÷”´´½¨“£¬ÔÚµ¥»÷“²éѯÉè¼Æ”£¬»áµ¯³öÒ»¸öÏÔʾ±íµÄ´°¿Ú£¬¹Øµô¡£»á³öÏÖÒ»¸ösqlÊÔͼ£¬´ò¿ª¾Í¿ÉÒÔÔÙÀïÃæÐ´sql´úÂëÁË¡£ ......
ÔÚSQL Server 2005Êý¾Ý¿âÖÐʵÏÖ×Ô¶¯±¸·ÝµÄ¾ßÌå²½Öè:
1¡¢´ò¿ªSQL Server Management Studio
2¡¢Æô¶¯SQL Server´úÀí
3¡¢µã»÷×÷Òµ->н¨×÷Òµ
4¡¢"³£¹æ"ÖÐÊäÈë×÷ÒµµÄÃû³Æ
5¡¢Ð½¨²½Ö裬ÀàÐÍÑ¡T-SQL£¬ÔÚÏÂÃæµÄÃüÁîÖÐÊäÈëÏÂÃæÓï¾ä£¨ºìÉ«²¿·ÖÒª¸ù¾Ý×Ô¼ºµÄʵ¼ÊÇé¿ö¸ü¸Ä£¬'D:\LMS2.0\LMS2.0\bak\' ¸ÄΪ×Ô¼ºµÄ±¸·Ý·¾¶£¬ ......
ORACLE SQLÐÔÄÜÓÅ»¯
ÎÒÒª½²µÄÌâÄ¿ÊÇOracle SQLÐÔÄÜÓÅ»¯£¬Ö»ÊÇOracleÐÔÄÜÓÅ»¯ÖеÄÒ»Ïî¡£OracleµÄÐÔÄÜÓÅ»¯°üº¬ºÜ¶à·½Ã棬±ÈÈçµ÷ÕûÎïÀí´æÈ¡£¬µ÷ÕûÂß¼´æÈ¡£¬µ÷ÕûÄÚ´æÊ¹Ó㬼õÉÙÍøÂçÁ÷Á¿µÈ¡£ÕâÀïÑ¡ÔñSQLÐÔÄÜÓÅ»¯ÊÇÒòΪÕⲿ·ÖÄÚÈÝÎÒÃDzâÊÔÈËÔ±×îÈÝÒ×½Ó´¥µ½£¬ÁíÍ⿪·¢ÈËԱдSQL½Å±¾Ê±ÓÐʱºÜËæÒ⣬²»Öª²»¾õ¾Í»áÔì³É³ÌÐòÐÔÄÜÉϵÄÏ ......