/*
Ô±í£º
thid other
a 1
a 1
b 0
b 0
b 0
c 2
c 2
Ï£Íû±ä³É£º
thid other
a 1
a 2
b 0
b 1
b 2
c 2
c 3
*/
if OBJECT_ID(' ......
Ö÷¼ü:
Äܹ»Î¨Ò»±íʾÊý¾Ý±íÖеÄÿ¸ö¼Ç¼µÄ¡¾×ֶΡ¿»òÕß¡¾×ֶΡ¿µÄ×éºÏ¾Í³ÆÎªÖ÷Âë(Ö÷¼ü)¡£ Ò»¸öÖ÷¼üÊÇΨһʶ±ðÒ»¸ö±íµÄÿһ¼Ç¼£¬µ«ÕâÖ»ÊÇÆä×÷ÓõÄÒ»²¿·Ö£¬Ö÷¼üµÄÖ÷Òª×÷ÓÃÊǽ«¼Ç¼ºÍ´æ·ÅÔÚÆäËû±íÖеÄÊý¾Ý½øÐйØÁª¡£ÔÚÕâÒ»µãÉÏ£¬Ö÷¼üÊDz»Í¬±íÖи÷¼Ç¼֮¼äµÄ¼òµ¥Ö¸Õë¡£Ö÷¼üÔ¼Êø¾ÍÊÇÈ·¶¨±íÖеÄÿһÌõ¼Ç¼¡£Ö÷¼ü²»ÄÜÊÇ¿ÕÖµ¡£Î¨Ò»Ô¼ÊøÊÇÓÃÓÚÖ¸¶¨Ò»¸ö»ò¶à¸öÁеÄ×éºÏÖµ¾ßÓÐΩһÐÔ£¬ÒÔ·ÀÖ¹ÔÚÁÐÖÐÊäÈëÖØ¸´µÄÖµ¡£ËùÒÔ£¬Ö÷¼üµÄÖµ¶ÔÓû§¶øÑÔÊÇûÓÐʲôÒâÒ壬²¢ÇÒºÍËüÒª¸³ÓèµÄֵҲûÓÐÊ²Ã´ÌØ±ðµÄÁªÏµ¡£
Íâ¼ü£º
ÈôÓÐÁ½¸ö±íA£¬B£¬CÊÇAµÄÖ÷¼ü£¬¶øBÖÐÒ²ÓÐC×ֶΣ¬ÔòC¾ÍÊDZíBµÄÍâ¼ü¡£Íâ¼üÔ¼ÊøÖ÷ÒªÓÃÀ´Î¬»¤Á½¸ö±íÖ®¼äÊý¾ÝµÄÒ»ÖÂÐÔ¡£
AΪ»ù±¾±í£¬BΪÐÅÏ¢±í ......
UrlScanµÄ3.1ÊÇÒ»¸ö°²È«µÄ¹¤¾ß£¬ÏÞÖÆÁËIISµÄHTTPÇëÇ󽫴¦ÀíÀàÐÍ¡£ ͨ¹ý×èÖ¹ÌØ¶¨µÄHTTPÇëÇó£¬ÔÚURLScan 3.1°²È«¹¤¾ßÓÐÖúÓÚ·ÀÖ¹¶Ô·þÎñÆ÷Ó¦ÓóÌÐò¿ÉÄÜÓꦵÄÇëÇó¡£ UrlScanµÄ3.1ÊÇURLScan 2.5µÄ¸üа汾¡£Ö§³ÖIIS 5.1ÖУ¬IIS 6.0ºÍIIS 7.0ÔÚWindows VistaºÍWindows Server 2008¡£ÏÂÔØµØÖ·http://download.csdn.net/source/2057125
×èÖ¹¶ÔWebÓ¦ÓóÌÐò¿ÉÄÜÓꦵÄÇëÇó
UrlScan3.1¸ù¾Ý¹ÜÀíÔ±ÉèÖõĹæÔò¹ýÂËËùÓд«Èëµ½·þÎñÆ÷µÄÇëÇó¡£Ö»ÒªÇëÇóͨ¹ý¹ýÂË£¬²ÅÄܵõ½·þÎñÆ÷µÄ´¦Àí¡£
¼õÇáSQL×¢Èë¹¥»÷
ͨ¹ý UrlScan3.1µÄ¿ÉÅäÖÿÉÒÔ¹ýÂËHTTP²éѯ×Ö·û´®ÖµºÍÆäËûµÄHTTP±êÍ·£¬ÒÔ¼õÇáSQL×¢Èë¹¥»÷£¬´Ó¶ø¹®¹ÌÓ¦ÓóÌÐòµÄ°²È«¡£
·ÖÎöÈÕÖ¾Îļþ
UrlScan3.1ÌṩÁËW3C¸ñʽµÄÈÕÖ¾Îļþ·ÖÎöÎļþ£¬×ñÑ΢ÈíÈÕÖ¾·ÖÎöÆ÷2.2·ÖÎö½â¾ö·½°¸¡£
ÌØÕ÷
еÄURLScan 3.1°æ±¾¿ÉÒÔ°²×°ÔÚIIS 5.1£¬IIS 6.0ºÍIIS 7.0 ÉÏ
´´½¨¶ÀÌØµÄ“¾Ü¾ø”¹æÔòÓÃÓÚ¼ì²â²éѯ×Ö·û´®£¬ËùÓбêÌ⣬»òÌØ¶¨Í·¡£
ÔÚÒ»¸öÈ«¾ÖµÄDenyQueryStringÅäÖýÚÖУ¬Äú¿ÉÒÔ×Ô¶¨ÒåÇëÇó¹æÔò
ÔÚÒ»¸öÈ«¾ÖµÄAlwaysAllowedUrlsÅäÖýڲ¿·ÖÔÊÐíÄúÖ¸¶¨°²È«µÄÍøÖ·£¬´Ó¶øÍ¨¹ýURLµÄ¼ì²é¡£
ÔÚÒ»¸öÈ«¾ÖµÄAlwaysAllowedQ ......
UrlScanµÄ3.1ÊÇÒ»¸ö°²È«µÄ¹¤¾ß£¬ÏÞÖÆÁËIISµÄHTTPÇëÇ󽫴¦ÀíÀàÐÍ¡£ ͨ¹ý×èÖ¹ÌØ¶¨µÄHTTPÇëÇó£¬ÔÚURLScan 3.1°²È«¹¤¾ßÓÐÖúÓÚ·ÀÖ¹¶Ô·þÎñÆ÷Ó¦ÓóÌÐò¿ÉÄÜÓꦵÄÇëÇó¡£ UrlScanµÄ3.1ÊÇURLScan 2.5µÄ¸üа汾¡£Ö§³ÖIIS 5.1ÖУ¬IIS 6.0ºÍIIS 7.0ÔÚWindows VistaºÍWindows Server 2008¡£ÏÂÔØµØÖ·http://download.csdn.net/source/2057125
×èÖ¹¶ÔWebÓ¦ÓóÌÐò¿ÉÄÜÓꦵÄÇëÇó
UrlScan3.1¸ù¾Ý¹ÜÀíÔ±ÉèÖõĹæÔò¹ýÂËËùÓд«Èëµ½·þÎñÆ÷µÄÇëÇó¡£Ö»ÒªÇëÇóͨ¹ý¹ýÂË£¬²ÅÄܵõ½·þÎñÆ÷µÄ´¦Àí¡£
¼õÇáSQL×¢Èë¹¥»÷
ͨ¹ý UrlScan3.1µÄ¿ÉÅäÖÿÉÒÔ¹ýÂËHTTP²éѯ×Ö·û´®ÖµºÍÆäËûµÄHTTP±êÍ·£¬ÒÔ¼õÇáSQL×¢Èë¹¥»÷£¬´Ó¶ø¹®¹ÌÓ¦ÓóÌÐòµÄ°²È«¡£
·ÖÎöÈÕÖ¾Îļþ
UrlScan3.1ÌṩÁËW3C¸ñʽµÄÈÕÖ¾Îļþ·ÖÎöÎļþ£¬×ñÑ΢ÈíÈÕÖ¾·ÖÎöÆ÷2.2·ÖÎö½â¾ö·½°¸¡£
ÌØÕ÷
еÄURLScan 3.1°æ±¾¿ÉÒÔ°²×°ÔÚIIS 5.1£¬IIS 6.0ºÍIIS 7.0 ÉÏ
´´½¨¶ÀÌØµÄ“¾Ü¾ø”¹æÔòÓÃÓÚ¼ì²â²éѯ×Ö·û´®£¬ËùÓбêÌ⣬»òÌØ¶¨Í·¡£
ÔÚÒ»¸öÈ«¾ÖµÄDenyQueryStringÅäÖýÚÖУ¬Äú¿ÉÒÔ×Ô¶¨ÒåÇëÇó¹æÔò
ÔÚÒ»¸öÈ«¾ÖµÄAlwaysAllowedUrlsÅäÖýڲ¿·ÖÔÊÐíÄúÖ¸¶¨°²È«µÄÍøÖ·£¬´Ó¶øÍ¨¹ýURLµÄ¼ì²é¡£
ÔÚÒ»¸öÈ«¾ÖµÄAlwaysAllowedQ ......
----start
ͨ³£SQL PLÖ»ÄÜʹÓÃÔÚ´æ´¢¹ý³Ì¡¢´¥·¢Æ÷¡¢Óû§×Ô¶¨Ò庯ÊýÖУ¬µ«ÊÇÓÐÒ»²¿·ÖSQL PLÒ²¿ÉÒÔÖ±½ÓÔÚÃüÁîÐÐ±à¼Æ÷»ò½Å±¾ÖÐʹÓã¬ËüÃÇÊÇ£º
DECLARE <variable>
SET
CASE
FOR
GET DIAGNOSTICS
GOTO
IF
RETURN
SIGNAL
WHILE
ITERATE
LEAVE
ÒÔÏÂSQL PL²»ÄÜÖ±½ÓÔÚÃüÁîÐÐ±à¼Æ÷»ò½Å±¾ÖÐʹÓã¬ËüÃÇÖ»ÄÜÔÚ´æ´¢¹ý³Ì¡¢´¥·¢Æ÷¡¢Óû§×Ô¶¨Ò庯ÊýÖÐʹÓãº
ALLOCATE CURSOR
ASSOCIATE LOCATORS
DECLARE <cursor>
DECLARE ...HANDLER
PREPARE
EXECUTE
EXECUTE IMMEDIATE
LOOP
REPEAT
RESIGNAL
CALL
COMMIT/ROLLBACK
ʾÀý£º
--Á¬½ÓÊý¾Ý¿â
CONNECT TO SAMPLE!
--ÄÚÁªSQL PL
BEGIN
DECLARE I INT DEFAULT 1;
DECLARE NUM INT DEFAULT 0;
SET NUM=0;
WHILE I<=10
DO
SET NUM=NUM+I;
SET I=I+1;
END WHILE;
END!
--¹Ø±ÕÁ¬½Ó
CONNECT RESET!
µ÷ÓÃʾÀý£º
½«Ê¾ÀýµÄÄÚÈݱ£´æÎªc:\test.sql,È»ºóÔÚDB2 ÃüÁî´°¿ÚÖÐÖ´ÐÐÈçÏÂÃüÁî
db2 -td! -vf c:\test.sql
----¸ü¶à²Î¼û£ºSQL PL ¼ò½é
-- ......
countÓï¾äÖ§³Ö*¡¢ÁÐÃû¡¢³£Á¿¡¢±äÁ¿,²¢ÇÒ¿ÉÒÔÓÃdistinct¹Ø¼ü×ÖÐÞÊΣ¬ ²¢ÇÒcount(ÁÐÃû)²»»áÀÛ¼ÆnullµÄ¼Ç¼¡£ÏÂÃæËæ±ãÓÃһЩÀý×Óʾ·¶Ò»ÏÂcountµÄ¹æÔò£º±ÈÈç¶ÔÈçϱí×öͳ¼Æ£¬ËùÓÐÁÐÕâÀï¶¼ÓÃsql_variantÀàÐÍÀ´±íʾ¡£
if (object_id ('t_test' )> 0 )
drop table t_test
go
create table t_test (a sql_variant , b sql_variant , c sql_variant )
insert into t_test select 1 , 1 , 'a'
insert into t_test select 1 , getdate (), null
insert into t_test select 'a' , null , 1
insert into t_test select 3 , null , null
insert into t_test select null , null , null
go
select * from t_test
go
select
count (* ) --×ÜÊý
, count (nullif (1 , 1 )) --ÓÀÔ¶·µ»Ø0
, count (a ) --aÊýÁ¿
, ......
SQLÄ£ºý²éѯÓï¾äºÍEscapeתÒå×Ö·û(2008-09-22 14:26:01)
±êÇ©£ºfrom תÒå×Ö·û sql µ¥ÒýºÅ ͨÅä·û escape it
ͨÅä·ûÃèÊöʾÀý%°üº¬Áã¸ö»ò¸ü¶à×Ö·ûµÄÈÎÒâ×Ö·û´®¡£WHERE title LIKE '%computer%' ½«²éÕÒ´¦ÓÚÊéÃûÈÎÒâλÖõİüº¬µ¥´Ê computer µÄËùÓÐÊéÃû¡£_£¨Ï»®Ïߣ©Èκε¥¸ö×Ö·û¡£WHERE au_fname LIKE '_ean' ½«²éÕÒÒÔ ean ½áβµÄËùÓÐ 4 ¸ö×ÖĸµÄÃû×Ö£¨Dean¡¢Sean µÈ£©¡£[ ]Ö¸¶¨·¶Î§ ([a-f]) »ò¼¯ºÏ ([abcdef]) ÖеÄÈκε¥¸ö×Ö·û¡£WHERE au_lname LIKE '[C-P]arsen' ½«²éÕÒÒÔarsen ½áβÇÒÒÔ½éÓÚ C Óë P Ö®¼äµÄÈκε¥¸ö×Ö·û¿ªÊ¼µÄ×÷ÕßÐÕÊÏ£¬ÀýÈ磬Carsen¡¢Larsen¡¢Karsen µÈ¡£[^]²»ÊôÓÚÖ¸¶¨·¶Î§ ([a-f]) »ò¼¯ºÏ ([abcdef]) µÄÈκε¥¸ö×Ö·û¡£WHERE au_lname LIKE 'de[^l]%' ½«²éÕÒÒÔ de ¿ªÊ¼ÇÒÆäºóµÄ×Öĸ²»Îª l µÄËùÓÐ×÷ÕßµÄÐÕÊÏ¡£
½«Í¨Åä·û×÷ΪÎÄ×ÖʹÓÿÉÒÔ½«Í¨Åä·ûģʽƥÅä×Ö·û´®ÓÃ×÷ÎÄ×Ö×Ö·û´®£¬·½· ......