SQLÓαêÔÀíºÍʹÓ÷½·¨
ÔÚÊý¾Ý¿â¿ª·¢¹ý³ÌÖУ¬µ±Äã¼ìË÷µÄÊý¾ÝÖ»ÊÇÒ»Ìõ¼Ç¼ʱ£¬ÄãËù±àдµÄÊÂÎñÓï¾ä´úÂëÍùÍùʹÓÃSELECT INSERT Óï¾ä¡£µ«ÊÇÎÒÃdz£³£»áÓöµ½ÕâÑùÇé¿ö£¬¼´´Óijһ½á¹û¼¯ÖÐÖðÒ»µØ¶ÁȡһÌõ¼Ç¼¡£ÄÇôÈçºÎ½â¾öÕâÖÖÎÊÌâÄØ£¿ÓαêΪÎÒÃÇÌṩÁËÒ»ÖÖ¼«ÎªÓÅÐãµÄ½â¾ö·½°¸¡£
1.1 ÓαêºÍÓαêµÄÓŵã
ÔÚÊý¾Ý¿âÖУ¬ÓαêÊÇÒ»¸öÊ®·ÖÖØÒªµÄ¸ÅÄî¡£ÓαêÌṩÁËÒ»ÖÖ¶Ô´Ó±íÖмìË÷³öµÄÊý¾Ý½øÐвÙ×÷µÄÁé»îÊֶΣ¬¾Í±¾ÖʶøÑÔ£¬Óαêʵ¼ÊÉÏÊÇÒ»ÖÖÄÜ´Ó°üÀ¨¶àÌõÊý¾Ý¼Ç¼µÄ½á¹û¼¯ÖÐÿ´ÎÌáȡһÌõ¼Ç¼µÄ»úÖÆ¡£Óαê×ÜÊÇÓëÒ»ÌõT_SQL Ñ¡ÔñÓï¾äÏà¹ØÁªÒòΪÓαêÓɽá¹û¼¯£¨¿ÉÒÔÊÇÁãÌõ¡¢Ò»Ìõ»òÓÉÏà¹ØµÄÑ¡ÔñÓï¾ä¼ìË÷³öµÄ¶àÌõ¼Ç¼£©ºÍ½á¹û¼¯ÖÐÖ¸ÏòÌØ¶¨¼Ç¼µÄÓαêλÖÃ×é³É¡£µ±¾ö¶¨¶Ô½á¹û¼¯½øÐд¦Àíʱ£¬±ØÐëÉùÃ÷Ò»¸öÖ¸Ïò¸Ã½á¹û¼¯µÄÓαꡣÈç¹ûÔø¾Óà C ÓïÑÔд¹ý¶ÔÎļþ½øÐд¦ÀíµÄ³ÌÐò£¬ÄÇôÓαê¾ÍÏñÄú´ò¿ªÎļþËùµÃµ½µÄÎļþ¾ä±úÒ»Ñù£¬Ö»ÒªÎļþ´ò¿ª³É¹¦£¬¸ÃÎļþ¾ä±ú¾Í¿É´ú±í¸ÃÎļþ¡£¶ÔÓÚÓÎ±ê¶øÑÔ£¬ÆäµÀÀíÊÇÏàͬµÄ¡£¿É¼ûÓαêÄܹ»ÊµÏÖ°´Ó봫ͳ³ÌÐò¶ÁÈ¡Æ½ÃæÎļþÀàËÆµÄ·½Ê½´¦ÀíÀ´×Ô»ù´¡±íµÄ½á¹û¼¯£¬´Ó¶ø°Ñ±íÖÐÊý¾ÝÒÔÆ½ÃæÎļþµÄÐÎʽ³ÊÏÖ¸ø³ÌÐò¡£
ÎÒÃÇÖªµÀ¹ØÏµÊý¾Ý¿â¹ÜÀíϵͳʵÖÊÊÇÃæÏò¼¯ºÏµÄ£¬ÔÚMS SQL SERVER Öв¢Ã»ÓÐÒ»ÖÖÃèÊö±íÖе¥Ò»¼Ç¼µÄ±í´ïÐÎʽ£¬³ý·ÇʹÓÃwhere ×Ó¾äÀ´ÏÞÖÆÖ»ÓÐÒ»Ìõ¼Ç¼±»Ñ¡ÖС£Òò´ËÎÒÃDZØÐë½èÖúÓÚÓαêÀ´½øÐÐÃæÏòµ¥Ìõ¼Ç¼µÄÊý¾Ý´¦Àí¡£
Óɴ˿ɼû£¬ÓαêÔÊÐíÓ¦ÓóÌÐò¶Ô²éѯÓï¾äselect ·µ»ØµÄÐнá¹û¼¯ÖÐÿһÐнøÐÐÏàͬ»ò²»Í¬µÄ²Ù×÷£¬¶ø²»ÊÇÒ»´Î¶ÔÕû¸ö½á¹û¼¯½øÐÐͬһÖÖ²Ù×÷£»Ëü»¹Ìṩ¶Ô»ùÓÚÓαêλÖöø¶Ô±íÖÐÊý¾Ý½øÐÐɾ³ý»ò¸üеÄÄÜÁ¦£»¶øÇÒ£¬ÕýÊÇÓαê°Ñ×÷ÎªÃæÏò¼¯ºÏµÄÊý¾Ý¿â¹ÜÀíϵͳºÍÃæÏòÐеijÌÐòÉè¼ÆÁ½ÕßÁªÏµÆðÀ´£¬Ê¹Á½¸öÊý¾Ý´¦Àí·½Ê½Äܹ»½øÐйµÍ¨¡£
1.2 ÓαêÖÖÀà
MS SQL SERVER Ö§³ÖÈýÖÖÀàÐ͵ÄÓα꣺Transact_SQL Óα꣬API ·þÎñÆ÷ÓαêºÍ¿Í»§Óαꡣ
£¨1£© Transact_SQL Óαê
Transact_SQL ÓαêÊÇÓÉDECLARE CURSOR Óï·¨¶¨Òå¡¢Ö÷ÒªÓÃÔÚTransact_SQL ½Å±¾¡¢´æ´¢¹ý³ÌºÍ´¥·¢Æ÷ÖС£Transact_SQL ÓαêÖ÷ÒªÓÃÔÚ·þÎñÆ÷ÉÏ£¬ÓÉ´Ó¿Í»§¶Ë·¢Ë͸ø·þÎñÆ÷µÄTransact_SQL Óï¾ä»òÊÇÅú´¦Àí¡¢´æ´¢¹ý³Ì¡¢´¥·¢Æ÷ÖеÄTransact_SQL ½øÐйÜÀí¡£ Transact_SQL Óα겻֧³ÖÌáÈ¡Êý¾Ý¿é»ò¶àÐÐÊý¾Ý¡£
£¨2£© API Óαê
API ÓαêÖ§³ÖÔÚOLE DB£¬ ODBC ÒÔ¼°DB_library ÖÐʹÓÃÓα꺯Êý£¬Ö÷ÒªÓÃÔÚ·þÎñÆ÷ÉÏ¡£Ã¿Ò»
Ïà¹ØÎĵµ£º
SQL²Ù×÷È«¼¯
ÏÂÁÐÓï¾ä²¿·ÖÊÇMssqlÓï¾ä£¬²»¿ÉÒÔÔÚaccessÖÐʹÓá£
SQL·ÖÀࣺ
DDL—Êý¾Ý¶¨ÒåÓïÑÔ(CREATE£¬ALTER£¬DROP£¬DECLARE)
DML—Êý¾Ý²Ù×ÝÓïÑÔ(SELECT£¬DELETE£¬UPDATE£¬INSERT)
DCL—Êý¾Ý¿ØÖÆÓïÑÔ(GRANT£¬REVOKE£¬COMMIT£¬ROLLBACK)
Ê×ÏÈ,¼òÒª½éÉÜ»ù´¡Óï¾ä£º
1¡¢ËµÃ ......
ÒÔÏÂÊǾ²âÑéÄÜÕýÈ·ÔËÐеÄ:
create table t_emp_log212
(
who varchar2(10) not null,
action varchar2(10) not null,
actime date
);
create or replace trigger tri_emp_insert
before insert
on t_emp
begin
insert into t_emp_log(who,action,actime)values(user,'insert',sysdate);
end ......
ÏÖÔÚ·ÖÒ³·½·¨´ó¶à¼¯ÖÐÔÚselect top/not in/Óαê/row_number£¬¶øselect top·ÖÒ³(ÔÚÕâ»ù´¡ÉÏ»¹Óжþ·Ö·¨)·½·¨Ëƺõ¸üÊÜ´ó¼Ò»¶Ó£¬ÕâÆªÎÄÕ²¢²»´òËãÈ¥ÌÖÂÛÊÇ·ñͨÓõÄÎÊÌ⣬±¾×ÅʵÓõÄÔÔò£¬»¨ÁËһЩʱ¼äÈ¥²âÊÔrow_number()·ÖÒ³µÄÐÔÄÜ£¬¸Ð¾õ²¢²»ÏñÒ»²¿·ÖÈËËù˵µÄÄÇô¼¦Àߣ¬ÓÉÓÚ½Ó´¥Èí¼þ¿ª·¢²ÅÊ®¸öÔ£¬·½·½ÃæÃæµÄ¶«Î÷¶¼ÒªÑ§ ......
¼ÙÉèÈçÏÂÓ¦Óãº
Á½Õű헗Óû§±íTDefUser£¨userid£¬address,phone£©ºÍÏû·Ñ±íTAccConsume(userid,time,amount)£¬ÐèÒª²éÏû·Ñ³¬¹ý5000µÄÓû§¼Ç¼¡£
ÓÃexists:
select * from TDefUser
where exists (select 1 from TAccConsume where TDefUser.userid=TAccConsume.userid and TAccConsume.amount>5000)
ÓÃi ......