×î½üÒ»Ö±ÔÚѧϰSQL serverµÄÄÚÈÝ¡£×òÌ쿼ÁËÒ»ÏÂÊÔ¡£¸Ð¾õÕæµÄÊDz»ÈÝÒ×°¡¡£ÌرðÊÇһЩ¸´ÔӵIJéѯ¡£¸ãµÃÎÒÍ·»èÄÔÕ͵ġ£²»¹ýÒ²ÊÇÓÉÓÚ×Ô¼ºµÄÖªÊ¶ÕÆÎյϹ²»¹»Ôúʵ°¡¡£ËùÒÔ½ñÌ츴ϰÁËÒ»ÏÂT-SQlÓï¾äµÄÔöɾ¸Ä²é¡£·¢ÏÖµÄÈ·ÊÇÓкܶ඼Íü¼ÇÁË¡£ÏÖÔڰѽá¹ûд³öÀ´¡£ÒÔºó¿É²»ÒªÍüÁËѽ¡£
--SQLÓï¾ä¸´Ï° --Ò»,²åÈëinsertÓï¾ä --1,insertµ¥ÐÐÊý¾Ý insert into students(sName,sAddress,Ssex,Semail) values('ÐÕÃû','µØÖ·','ÐÔ±ð','ÓʼþµØÖ·')
--2,insert¶àÐÐÊý¾Ý£¬°ÑÆäËû±íÖÐÏÖÓеÄÊý¾Ý¾¹ýѡȡºó²åÈëµ½Êý¾Ý¿âÖÐ --°Ñ±íStudent¶ÔÓ¦µÄSname£¬Saddress£¬SemailÈýÁеÄÈ«²¿ÐУ¬ --²åÈëµ½TongXuLu±íÖеÄÐÕÃû£¬µØÖ·£¬µç×ÓÓʼþÈýÁÐÖÐ insert into students(ÐÕÃû,µØÖ·,µç×ÓÓʼþ) select Sname,Saddress,semail from students
--3,insert¶àÐÐÊý¾Ýµ½Ð½¨µÄ±íÖУ¬±í²»ÄÜÊÂÏÈ´æÔÚ --½«´´½¨TongXueLu±í£¬Í¬Ê±´´½¨Èý¸ö×Ö¶ÎSname£¬Saddress£¬Semail£¬ºÍ±êʶÁÐstudentID --²¢ÇÒ°ÑStudent±íÖеÄÕâÈýÁÐÊý¾ÝÏîÈ«²¿²åÈ뵽бíÖС£ select Students.Sname,Students.Saddress,Students.Semail,identity(int,1,1) as studentID--±êʶÁÐÁÐÃû into TongXuLu from Students
--4,ÊÖд¶àÐÐÊý¾Ýͨ¹ýUnionºÏ²¢²åÈë i ......
±³¾°£ºDB2µÄÊý¾Ý¿âÐÔÄܺÜÅ£X£¬µ«ÊÇÆäÎĵµÈ´ºÜ²î£¬ÓÈÆäÊÇ¿ª·¢²Î¿¼Îĵµ£¬¶¼ÊÇÓ¢Îĵģ¬ä¯ÀÀµÄʱºò»¹ºÜ²»ºÃÕÒ£¬ÐèÒªÉÏIBMµÄÍøÕ¾¿´£¬ÍøÕ¾Ò²³öÆæµÄÂý£¬¼«²»·½±ã£¬Èÿª·¢ÈËÔ±¾Ù²½Î¬¼è£¬ÕâÒ²ÐíÊÇIBM DB2µÄÓû§ÉÙ£¬ÊéÉÙ£¬×ÊÁÏÉÙµÄÔÒò¡£
££££££££££££££££££
´´½¨SQL´æ´¢¹ý³Ì£¨CREATE PROCEDURE (SQL) statement £©
Óï·¨¸ñʽÈçÏ£º
>>-CREATE PROCEDURE--procedure-name----------------------------->
>--+----------------------------------------------------+--*---->
'-(--+------------------------------------------+--)-'
| .-,------------------------------------. |
| V .-IN----. | |
'---+-------+--parameter-name--data-type-+-'
&n ......
1¡¢¹«Óñí±í´ïʽ (CTE) ¿ÉÒÔÈÏΪÊÇÔÚµ¥¸ö SELECT¡¢INSERT¡¢UPDATE¡¢DELETE »ò CREATE VIEW Óï¾äµÄÖ´Ðз¶Î§ÄÚ¶¨ÒåµÄÁÙʱ½á¹û¼¯¡£CTE ÓëÅÉÉú±íÀàËÆ£¬¾ßÌå±íÏÖÔÚ²»´æ´¢Îª¶ÔÏ󣬲¢ÇÒÖ»ÔÚ²éѯÆÚ¼äÓÐЧ¡£ÓëÅÉÉú±íµÄ²»Í¬Ö®´¦ÔÚÓÚ£¬CTE ¿É×ÔÒýÓ㬻¹¿ÉÔÚͬһ²éѯÖÐÒýÓöà´Î¡£
¡¡¡¡CTE ¿ÉÓÃÓÚ£º
¡¡¡¡´´½¨µÝ¹é²éѯ¡£ÓйØÏêϸÐÅÏ¢£¬Çë²ÎÔÄʹÓù«Óñí±í´ïʽµÄµÝ¹é²éѯ¡£
¡¡¡¡ÔÚ²»ÐèÒª³£¹æÊ¹ÓÃÊÓÍ¼Ê±Ìæ»»ÊÓͼ£¬Ò²¾ÍÊÇ˵£¬²»±Ø½«¶¨Òå´æ´¢ÔÚÔªÊý¾ÝÖС£
¡¡¡¡ÆôÓð´´Ó±êÁ¿Ç¶Ì× select Óï¾äÅÉÉúµÄÁнøÐзÖ×飬»òÕß°´²»È·¶¨ÐÔº¯Êý»òÓÐÍⲿ·ÃÎʵĺ¯Êý½øÐзÖ×é¡£
¡¡¡¡ÔÚͬһÓï¾äÖжà´ÎÒýÓÃÉú³ÉµÄ±í¡£
¡¡¡¡Ê¹Óà CTE ¿ÉÒÔ»ñµÃÌá¸ß¿É¶ÁÐÔºÍÇáËÉά»¤¸´ÔÓ²éѯµÄÓŵ㡣²éѯ¿ÉÒÔ·ÖΪµ¥¶À¿é¡¢¼òµ¥¿é¡¢Âß¼Éú³É¿é¡£Ö®ºó£¬ÕâЩ¼òµ¥¿é¿ÉÓÃÓÚÉú³É¸ü¸´ÔÓµÄÁÙʱ CTE£¬Ö±µ½Éú³É×îÖÕ½á¹û¼¯¡£¿ÉÒÔÔÚÓû§¶¨ÒåµÄÀý³Ì(È纯Êý¡¢´æ´¢¹ý³Ì¡¢´¥·¢Æ÷»òÊÓͼ)Öж¨Òå CTE¡£
¡¡¡¡2¡¢¹«Óñí±í´ïʽ (CTE) ¾ßÓÐÒ»¸öÖØÒªµÄÓŵ㣬ÄǾÍÊÇÄܹ»ÒýÓÃÆä×ÔÉí£¬´Ó¶ø´´½¨µÝ¹é CTE¡£µÝ¹é CTE ÊÇÒ»¸öÖØ¸´Ö´Ðгõʼ CTE ÒÔ·µ»ØÊý¾Ý×Ó¼¯Ö±µ½»ñÈ¡ÍêÕû½á¹û¼¯µÄ¹«Óñí±í´ïʽ¡£µ±Ä³¸ö²éѯÒýÓõݹé CTE ʱ£¬Ëü¼´±»³ÆÎªµÝ¹é²éѯ¡£µÝ¹é²éѯͨ³ ......
Select * from tableName
exec('select * from tableName')
exec sp_executesql N'select * from tableName' -- Çë×¢Òâ×Ö·û´®Ç°Ò»¶¨Òª¼ÓN
2:×Ö¶ÎÃû£¬±íÃû£¬Êý¾Ý¿âÃûÖ®Àà×÷Ϊ±äÁ¿Ê±£¬±ØÐëÓö¯Ì¬SQL
declare @fname varchar(20)
set @fname = 'FiledName'
Select @fname from tableName -- ´íÎó,²»»áÌáʾ´íÎ󣬵«½á¹ûΪ¹Ì¶¨ÖµFiledName,²¢·ÇËùÒª¡£
exec('select ' + @fname + ' from tableName') -- Çë×¢Òâ ¼ÓºÅǰºóµÄ µ¥ÒýºÅµÄ±ßÉϼӿոñ
µ±È»½«×Ö·û´®¸Ä³É±äÁ¿µÄÐÎʽҲ¿É
declare @fname varchar(20)
set @fname = 'FiledName' --ÉèÖÃ×Ö¶ÎÃû
declare @s varchar(1000)
set @s = 'select ' + @fname + ' from tableName'
exec(@s) -- ³É¹¦
exec sp_executesql @s -- ´Ë¾ä»á±¨´í
declare @s Nvarchar(1000) -- ×¢Òâ´Ë´¦¸ÄΪnvarchar(1000)
set @s = 'select ' + @fname + ' from tableName'
exec(@s) -- ³É¹¦
exec sp_executesql @s -- ´Ë¾äÕýÈ·
3. Êä³ö²ÎÊý
declare @num int, @sqls nvarchar(4000)
set @sqls='select count(*) from tableName'
exec(@sqls)
--ÈçºÎ½«execÖ´Ðнá¹û·ÅÈë±äÁ¿ÖУ¿
declare @num int, @sqls ......
ÏÂÃæÊÇÎÒËѼ¯µÄһЩ¾«ÃîµÄSQLÓï¾ä¡£
˵Ã÷£º¸´ÖƱí(Ö»¸´Öƽṹ,Ô´±íÃû£ºa бíÃû£ºb)
SQL: select * into b from a where 1<>1
˵Ã÷£º¿½±´±í(¿½±´Êý¾Ý,Ô´±íÃû£ºa Ä¿±ê±íÃû£ºb)
SQL: insert into b(a, b, c) select d,e,f from b;
˵Ã÷£ºÏÔʾÎÄÕ¡¢Ìá½»È˺Í×îºó»Ø¸´Ê±¼ä
SQL: select a.title,a.username,b.adddate from table a,(select max(adddate) adddate from table where table.title=a.title) b
˵Ã÷£ºÍâÁ¬½Ó²éѯ(±íÃû1£ºa ±íÃû2£ºb)
SQL: select a.a, a.b, a.c, b.c, b.d, b.f from a LEFT OUT JOIN b ON a.a = b.c
˵Ã÷£ºÈճ̰²ÅÅÌáǰÎå·ÖÖÓÌáÐÑ
SQL: select * from Èճ̰²ÅÅ where datediff('minute',f¿ªÊ¼Ê±¼ä,getdate())>5
˵Ã÷£ºÁ½ÕŹØÁª±í£¬É¾³ýÖ÷±íÖÐÒѾÔÚ¸±±íÖÐûÓеÄÐÅÏ¢
SQL:
delete from info where not exists ( select * from infobz where info.infid=infobz.infid )
˵Ã÷£ºËıíÁª²éÎÊÌ⣺
SQL: select * from a left inner join b on a.a=b.b right inner join c on a.a=c.c inner join d on a.a=d.d where .....
˵Ã÷£ºµÃµ½±íÖÐ×îСµÄδʹÓõÄIDºÅ
SQL:
SELECT (CASE WHEN EXISTS(SELECT * from Handl ......
1 windowsµÇ¼ÕË»§¿Ú£ºEXEC ap_grantlogin 'windowsÓòÃû\ÓòÕË»§'
2 SQL µÇ¼ÕË»§:EXEC sp_addlogin 'ÕË»§Ãû','ÃÜÂë'
3 ´´½¨Êý¾Ý¿âÓû§:exec spgrantdbaccess 'µÇ¼ÕË»§','Êý¾Ý¿âÓû§'
¶þ ¸øÊý¾Ý¿âÓû§ÊÚȨ
grant ȨÏÞ on ±íÃû to Êý¾Ý¿âÓû§ ......