ͨ¹ý·ÖÎöSQLÓï¾äµÄÖ´Ðмƻ®ÓÅ»¯SQL(¶þ)
¶þ£ºÓÐЧµÄÓ¦ÓÃÉè¼Æ
ÎÒÃÇͨ³£½«×î³£ÓõÄÓ¦Ó÷ÖΪ2ÖÖÀàÐÍ£ºÁª»úÊÂÎñ´¦ÀíÀàÐÍ(OLTP)£¬¾ö²ßÖ§³Öϵͳ(DSS)¡£
Áª»úÊÂÎñ´¦Àí(OLTP)
¸ÃÀàÐ͵ÄÓ¦ÓÃÊǸßÍÌÍÂÁ¿£¬²åÈë¡¢¸üС¢É¾³ý²Ù×÷±È½Ï¶àµÄϵͳ£¬ÕâЩϵͳÒÔ²»¶ÏÔö³¤µÄ´óÈÝÁ¿Êý¾ÝÎªÌØÕ÷£¬ËüÃÇÌṩ¸ø³É°ÙÓû§Í¬Ê±´æÈ¡£¬µäÐ͵ÄOLTPϵͳÊǶ©Æ±ÏµÍ³£¬ÒøÐеÄÒµÎñϵͳ£¬¶©µ¥ÏµÍ³¡£OTLPµÄÖ÷ҪĿ±êÊÇ¿ÉÓÃÐÔ¡¢ËÙ¶È¡¢²¢·¢ÐԺͿɻָ´ÐÔ¡£
µ±Éè¼ÆÕâÀàϵͳʱ£¬±ØÐëÈ·±£´óÁ¿µÄ²¢·¢Óû§²»ÄܸÉÈÅϵͳµÄÐÔÄÜ¡£»¹ÐèÒª±ÜÃâʹÓùýÁ¿µÄË÷ÒýÓëcluster ±í£¬ÒòΪÕâЩ½á¹¹»áʹ²åÈëºÍ¸üвÙ×÷±äÂý¡£
¾ö²ßÖ§³Ö(DSS)
¸ÃÀàÐ͵ÄÓ¦Óý«´óÁ¿ÐÅÏ¢½øÐÐÌáÈ¡Ðγɱ¨¸æ£¬ÐÖú¾ö²ßÕß×÷³öÕýÈ·µÄÅжϡ£µäÐ͵ÄÇé¿öÊÇ£º¾ö²ßÖ§³Öϵͳ½«OLTPÓ¦ÓÃÊÕ¼¯µÄ´óÁ¿Êý¾Ý½øÐвéѯ¡£µäÐ͵ÄÓ¦ÓÃΪ¿Í»§ÐÐΪ·ÖÎöϵͳ(³¬ÊУ¬±£ÏÕµÈ)¡£
¾ö²ßÖ§³ÖµÄ¹Ø¼üÄ¿±êÊÇËÙ¶È¡¢¾«È·ÐԺͿÉÓÃÐÔ¡£
¸ÃÖÖÀàÐ͵ÄÉè¼ÆÍùÍùÓëOLTPÉè¼ÆµÄÀíÄî±³µÀ¶ø³Û£¬Ò»°ã½¨ÒéʹÓÃÊý¾ÝÈßÓà¡¢´óÁ¿Ë÷Òý¡¢cluster table¡¢²¢ÐвéѯµÈ¡£
½üÄêÀ´£¬¸ÃÀàÐ͵ÄÓ¦ÓÃÖð½¥ÓëOLAP¡¢Êý¾Ý²Ö¿â½ôÃܵÄÁªÏµÔÚÒ»Æð£¬ÐγɵÄÒ»¸öеÄÓ¦Ó÷½Ïò¡£
Èý£ºSQLÓï¾ä´¦ÀíµÄ¹ý³Ì
ÔÚµ÷Õû֮ǰÎÒÃÇÐèÒªÁ˽âһЩ±³¾°ÖªÊ¶£¬Ö»ÓÐÖªµÀÕâЩ±³¾°ÖªÊ¶£¬ÎÒÃDzÅÄܸüºÃµÄÈ¥µ÷ÕûsqlÓï¾ä¡£
±¾½Ú½éÉÜÁËSQLÓï¾ä´¦ÀíµÄ»ù±¾¹ý³Ì£¬Ö÷Òª°üÀ¨£º
²éѯÓï¾ä´¦Àí
DMLÓï¾ä´¦Àí(insert, update, delete)
DDL Óï¾ä´¦Àí(create .. , drop .. , alter .. , )
ÊÂÎñ¿ØÖÆ(commit, rollback)
SQL Óï¾äµÄÖ´Ðйý³Ì(SQL Statement Execution)
ÔÚijЩÇé¿öÏ£¬OracleÔËÐÐsqlµÄ¹ý³Ì¿ÉÄÜÓëÏÂÃæÁгöµÄ¸÷¸ö½×¶ÎµÄ˳ÐòÓÐËù²»Í¬¡£
ÈçDEFINE½×¶Î¿ÉÄÜÔÚFETCH½×¶Î֮ǰ£¬ÕâÖ÷ÒªÒÀÀµÄãÈçºÎÊéд´úÂë¡£
¶ÔÐí¶àoracleµÄ¹¤¾ßÀ´Ëµ£¬ÆäÖÐijЩ½×¶Î»á×Ô¶¯Ö´ÐС£¾ø´ó¶àÊýÓû§²»ÐèÒª¹ØÐĸ÷¸ö½×¶ÎµÄϸ½ÚÎÊÌ⣬Ȼ¶ø£¬ÖªµÀÖ´Ðеĸ÷¸ö½×¶Î»¹ÊÇÓбØÒªµÄ£¬Õâ»á°ïÖúÄãд³ö¸ü¸ßЧµÄSQLÓï¾äÀ´£¬¶øÇÒ»¹¿ÉÒÔÈÃÄã²Â²â³öÐÔÄܲîµÄSQLÓï¾äÖ÷ÒªÊÇÓÉÓÚÄÄÒ»¸ö½×¶ÎÔì³ÉµÄ£¬È»ºóÎÒÃÇÕë¶ÔÕâ¸ö¾ßÌåµÄ½×¶Î£¬ÕÒ³ö½â¾öµÄ°ì·¨¡£
DMLÓï¾äµÄ´¦Àí
±¾½Ú¸ø³öÒ»¸öÀý×ÓÀ´ËµÃ÷ÔÚDMLÓï¾ä´¦ÀíµÄ¸÷¸ö½×¶Îµ½µ×·¢ÉúÁËʲôÊÂÇé¡£
¼ÙÉèÄãʹÓÃPro*C³ÌÐòÀ´ÎªÖ¸¶¨²¿ÃŵÄËùÓÐÖ°Ô±Ôö¼Ó¹¤×Ê¡£³ÌÐòÒѾÁ¬µ½ÕýÈ·µÄÓû§£¬Äã¿ÉÒÔÔÚÄãµÄ³ÌÐòÖÐǶÈëÈçϵÄSQLÓï¾ä£º
EXEC SQL UPDATE employees
SET salary = 1.10 * salary
WHERE department_id = :var_department_id;
var_department_idÊdzÌÐò±äÁ¿£¬ÀïÃæ°üº¬²¿Ãźţ¬ÎÒÃÇÒªÐ޸ĸò¿ÃŵÄÖ°
Ïà¹ØÎĵµ£º
ϵͳ»·¾³£ºWindows 7
Èí¼þ»·¾³£ºVisual C++ 2008 SP1 +SQL Server 2005
±¾´ÎÄ¿µÄ£º±àдһ¸öº½¿Õ¹ÜÀíϵͳ
ÕâÊÇÊý¾Ý¿â¿Î³ÌÉè¼ÆµÄ³É¹û£¬ËäÈ»³É¼¨²»¼Ñ£¬µ«ÊÇ×÷ΪÎÒÓÃVC++ ÒÔÀ´±àдµÄ×î´ó³ÌÐò»¹ÊÇ´«µ½ÍøÉÏ£¬ÒÔ¹©²Î¿¼¡£ÓÃVC++ ×öÊý¾Ý¿âÉè¼Æ²¢²»ÈÝÒ×£¬µ«Ò²²»ÊDz»¿ÉÄÜ¡£ÒÔÏÂÊÇÎҵijÌÐò½çÃæ£¬ºóÃæ ......
1¡£select * from v$nls_parameters
²éѯnlsµÄ²ÎÊý£¬»ñµÃÊý¾Ý¿â·þÎñÆ÷¶ËµÄ×Ö·û±àÂë
NLS_LANGUAGE
NLS_CHARACTERSET
2¡£Ð޸ı¾µØ»·¾³±äÁ¿£¬ÉèÖÃ
NLS_LANG = SIMPLIFIED CHINESE.ZHS16GBK //Õâ¸öÊÇÎÒÃǵÄÊý¾Ý¿â×Ö·û±àÂë
NLS_LANG¸ñʽ£º
NLS_LANG = language_territory.char ......
ʹÓà TRUNCATE TABLE ɾ³ýËùÓÐÐÐ
ÈôҪɾ³ý±íÖеÄËùÓÐÐУ¬Ôò TRUNCATE TABLE Óï¾äÊÇÒ»ÖÖ¿ìËÙ¡¢ÓÐЧµÄ·½·¨¡£TRUNCATE TABLE Óë²»º¬ WHERE ×Ó¾äµÄ DELETE Óï¾äÀàËÆ¡£µ«ÊÇ£¬TRUNCATE TABLE Ëٶȸü¿ì£¬²¢ÇÒʹÓøüÉÙµÄϵͳ×ÊÔ´ºÍÊÂÎñÈÕÖ¾×ÊÔ´¡£
Óë DELETE Óï¾äÏàͬ£¬Ê¹Óà TRUNCATE TABLE Çå¿ÕµÄ±íµÄ¶¨ÒåÓëÆäË÷ÒýºÍÆäËû¹ØÁª¶ÔÏóÒ ......
ͨ³£Ö´ÐÐsqlÓï¾ä£¬´ó¼ÒÓõͼÊÇexec£¬exec¹¦ÄÜÇ¿´ó£¬µ«²»Ö§³ÖǶÈë²ÎÊý£¬sp_executesql½â¾öÁËÕâ¸öÎÊÌâ¡£³Ò»¶Îsqlserver°ïÖú£º
sp_executesql
Ö´ÐпÉÒÔ¶à´ÎÖØÓûò¶¯Ì¬Éú³ÉµÄ Transact-SQL Óï¾ä»òÅú´¦Àí¡£Transact-SQL Óï¾ä»òÅú´¦Àí¿ÉÒÔ°üº¬Ç¶Èë²ÎÊý¡£
Óï·¨
sp_executesql
[@stmt
=
] stmt
[
&n ......