Çå¿ÕSQL ServerÊý¾Ý¿âÖÐËùÓбíÊý¾ÝµÄ·½·¨
Æäʵɾ³ýÊý¾Ý¿âÖÐÊý¾ÝµÄ·½·¨²¢²»¸´ÔÓ£¬ÎªÊ²Ã´ÎÒ»¹Òª¶à´ËÒ»¾ÙÄØ£¬Ò»ÊÇÎÒÕâÀï½éÉܵÄÊÇɾ³ýÊý¾Ý¿âµÄËùÓÐÊý¾Ý£¬ÒòΪÊý¾ÝÖ®¼ä¿ÉÄÜÐγÉÏà»¥Ô¼Êø¹ØÏµ£¬É¾³ý²Ù×÷¿ÉÄÜÏÝÈëËÀÑ»·£¬¶þÊÇÕâÀïʹÓÃÁË΢ÈíδÕýʽ¹«¿ªµÄsp_MSForEachTable´æ´¢¹ý³Ì¡£
¡¡¡¡Ò²ÐíºÜ¶à¶ÁÕßÅóÓѶ¼¾Àú¹ýÕâÑùµÄÊÂÇ飺ҪÔÚ¿ª·¢Êý¾Ý¿â»ù´¡ÉÏÇåÀíÒ»¸ö¿Õ¿â£¬µ«ÓÉÓÚ¶ÔÊý¾Ý¿â½á¹¹È±·¦ÕûÌåÁ˽⣬ÔÚɾ³ýÒ»¸ö±íµÄ¼Ç¼ʱ£¬É¾³ý²»ÁË£¬ÒòΪ¿ÉÄÜÓÐÍâ¼üÔ¼Êø£¬Ò»¸ö³£¼ûµÄÊý¾Ý¿â½á¹¹ÊÇÒ»¸öÖ÷±í£¬Ò»¸ö×Ó±í£¬ÕâÖÖÇé¿öÏÂÒ»°ã¶¼µÃÏÈɾ³ý×Ó±í¼Ç¼£¬ÔÙɾ³ýÖ÷±í¼Ç¼¡£
¡¡¡¡ËµµÀɾ³ýÊý¾Ý¼Ç¼£¬ÍùÍùÂíÉÏ»áÏëµ½µÄÊÇdeleteºÍtruncateÓï¾ä£¬µ«ÔÚÓöµ½ÔÚÁ½¸ö»ò¶à¸ö±íÖ®¼ä´æÔÚÔ¼ÊøµÄ»°£¬ÕâÁ½¸öÓï¾ä¿ÉÄܶ¼»áʧЧ£¬¶øÇÒ×îÒªÃüµÄÊÇÕâÁ½¸öÃüÁî¶¼Ö»ÄÜÒ»´Î²Ù×÷Ò»¸ö±í¡£ÄÇ̫;ÕýÓöµ½ÒªÉ¾³ýSQL ServerÊý¾Ý¿âÖÐËùÓмǼʱ£¬¸ÃÔõô°ìÄØ?ÓÐÁ½¸öÑ¡Ôñ£º
¡¡¡¡1.°´ÕÕÏȺó˳ÐòÖð¸öɾ³ý£¬Õâ¸ö·½·¨ÔÚ±í·Ç³£¶àµÄÇé¿öÏÂÏԵúܲ»ÏÖʵ£¬¼´±ãÊDZíÊýÁ¿²»¶à£¬µ«Ô¼Êø±È½Ï¶àʱ£¬Ä㻹ÊÇÒª»¨·Ñ´óÁ¿µÄʱ¼äºÍ¾«Á¦È¥Ñо¿Æä¼äµÄÔ¼Êø¹ØÏµ£¬È»ºóÕÒ³öÏÈɾÄĸö±í£¬ÔÙɾÄĸö±í£¬×îºóÓÖɾÄĸö±í¡£
¡¡¡¡2.½ûÓÃËùÓÐÔ¼Êø£¬É¾³ýËùÓÐÊý¾Ý£¬×îºóÔÙÆôÓÃÔ¼Êø£¬ÕâÑù¾Í²»Óû¨Ê±¼äºÍ¾«Á¦È¥Ñо¿Ê²Ã´Ô¼ÊøÁË£¬Ö»ÐèÒª±àдһ¸ö¼òµ¥µÄ´æ´¢¹ý³Ì¾Í¿ÉÒÔ×Ô¶¯Íê³ÉÕâ¸öÈÎÎñ¡£
CREATE PROCEDURE sp_DeleteAllData
AS
EXEC sp_MSForEachTable 'ALTER TABLE ? NOCHECK CONSTRAINT ALL'
EXEC sp_MSForEachTable 'ALTER TABLE ? DISABLE TRIGGER ALL'
EXEC sp_MSForEachTable 'DELETE from ?'
EXEC sp_MSForEachTable 'ALTER TABLE ? CHECK CONSTRAINT ALL'
EXEC sp_MSForEachTable 'ALTER TABLE ? ENABLE TRIGGER ALL'
EXEC sp_MSFOREACHTABLE 'SELECT * from ?'
GO
¡¡¡¡´ÓÕâÁ½¸öÑ¡ÔñÖв»ÄÑ¿´³öµÚ¶þ¸öÑ¡ÔñÊÇ×î¼òµ¥ÓÐЧµÄÁË£¬ÄÇôÔÚʹÓõڶþ¸öÑ¡Ôñʱ£¬¾ßÌå¸ÃÔõÃ´ÊµÊ©ÄØ?
¡¡¡¡Ê×Ïȵñàд´úÂëÑ»·¼ì²éËùÓÐµÄ±í£¬ÕâÀïÎÒÍÆ¼öÒ»¸ö´æ´¢¹ý³Ìsp_MSForEachTable£¬ÒòΪÔÚ΢ÈíµÄ¹Ù·½ÎĵµÖÐûÓжÔÕâ¸ö´æ´¢¹ý³ÌÓÐÃèÊö£¬ºÜ¶à¿ª·¢ÈËÔ±Ò²Ðí¶¼»¹Î´ÔøÌý˵£¬ËùÒÔÄãÔÚ»¥ÁªÍøÉÏËÑË÷µÃµ½µÄ½â¾ö°ì·¨´ó¶àºÜ¸´ÔÓ£¬Ò²ÐíÓеÄÈË»áÈÏΪ£¬¼ÈȻûÓйٷ½Îĵµ£¬Õâ¸ö´æ´¢¹ý³Ì¿ÉÄܻ᲻Îȶ¨£¬´òÐÄÀíÉÏ»áÅųâËü£¬µ«ÊÂʵ²¢·ÇÈç´Ë¡£ÏÂÃæÀ´ÏÈ¿´Ò»¸öÍêÕûµÄ½Å±¾£º
¡¡¡¡Õâ¸ö½Å±¾´´½¨ÁËÒ»¸öÃüÃûΪsp_DeleteAllDataµÄ´æ´¢¹ý³Ì£¬Ç°ÃæÁ½ÐÐÓï¾ä·Ö±ð½ûÓÃÔ¼ÊøºÍ´¥·¢Æ÷£¬µÚÈýÌõÓï¾ä²ÅÊÇÕæÕýµØÉ¾³ýËùÓÐÊý¾Ý£¬½ÓÏÂÀïµÄÓï¾ä·Ö±ð»¹ÔÔ¼Êøº
Ïà¹ØÎĵµ£º
Òª´´½¨Á½¸öÎļþ
1: runBatch.bat
2: sql.txt
runBatch.bat ÄÚÈÝÈçÏ£º
sqlplus username/password @sql.txt
pause
sql.txtÄÚÈÝÈçÏ£º
spool sql.log
create table t1(cname char(20));
insert into t1(cname) values('test');
select * from t1;
spool off
exit
Ë«»÷runBatch.bat¾Í¿ÉÒÔÅúÁ¿Ö´ÐÐsql.txtÖÐ ......
ÔõÑù´ÓÊý¾Ý¿âÀïËæ»ú¶ÁÈ¡
Ò»Ìõ¼Ç¼£¬
SELECT TOP 1 * from dbo.Customers ORDER BY NEWID()
ÕâÑù£¬Èç¹ûÊÇËæ»ú10
Ìõ£¬100Ìõ¡£¡£¡£¡£
SELECT TOP 10 * from dbo.Customers ORDER BY NEWID()
ºÜ¼òµ¥°É¡£
²»¹ýtopºóÃæÊý×ÖÔ½´ó£¬ÔËÐÐËÙ¶ÈÔ½Âý¡£²»ÍƼöÊý¾Ý×ÖÌ«´ó¡£
ÒÔºó´úÂëÔÚSQL2000 ......
to_dateºÍto_charÊÇoracleÀïÀïÃæµÄÄÚÖú¯Êý¶ø²»ÊDZê×¼µÄsqlÓï·¨Öеĺ¯Êý£¬Ó÷¨¾ÙÀý£º
1.to_char£¬·µ»Ø½á¹û¿ÉÏÔʾΪ¸÷ÖÖÐÎʽ
select to_char(sysdate,'yyyy/mm/dd') ,sysdate from dual;
½á¹û£º 2010/05/26 &nbs ......
×î½üÔÚÒ»¸öÏîÄ¿ÖÐÓöµ½ÐèÒªÔÚÊý¾Ý²ã¾ÍÆ´½Ó±íÖÐÒ»ÁÐÊý¾ÝµÄÎÊÌâ¡£
ÀýÈ磬test±íÖÐÓиö×Ö¶Ît,tÁÐÖеÄ4ÐÐÊý¾ÝΪ1,2,3,4 £¬ÒªÆ´½Ó³É1+2+3+4£¬×ÁÄ¥ÁËÒ»Õ󣬱¾À´ÏëÓÃÓα꣬µ«ÊÇЧÂÊ¡£¡£ºóÀ´ÕÒµ½Ò»¶ÎSQL£¬¿ÉÒԺܷ½±ãµØÆ´½Ó¡£
DECLARE @STR VARCHAR(8000) ----¶¨Òå²éѯ×Ö·û´®
SELECT @STR=ISNULL(@STR+'+','')+t from (SELECT DIST ......
½ÓÉÏÆª
ËÄ£¬¸ù¾ÝÌõ¼þÓÐÑ¡ÔñµÄUPDATE¡£
Àý£¬ÓÐÈçϸüÐÂÌõ¼þ
¹¤×Ê5000ÒÔÉϵÄÖ°Ô±£¬¹¤×ʼõÉÙ10%
¹¤×ÊÔÚ2000µ½4600Ö®¼äµÄÖ°Ô±£¬¹¤×ÊÔö¼Ó15%
ºÜÈÝÒ׿¼ÂǵÄÊÇÑ¡ÔñÖ´ÐÐÁ½´ÎUPDATEÓï¾ä£¬ÈçÏÂËùʾ
--Ìõ¼þ1
UPDATE Personnel
SET salary = salary * 0.9
WHERE salary >= 5000;
--Ìõ¼þ2
UPDATE Personnel
SET sala ......