SQL ¿ª·¢ÈËÔ± Oracle Berkeley DB Ö¸ÄÏ£¨zz£©
×ªÔØÒ»¸öBDBµÄÏà¹Ø½éÉÜ£¬»ù±¾¿ÉÒÔµ±ËÙ³ÉÊÖ²áÓ㬸ü¶àµÄÎĵµ¿ÉÒÔÈ¥Oracle¹Ù·½ÍøÕ¾ÏÂÔØ¡£
SQL ¿ª·¢ÈËÔ± Oracle Berkeley DB Ö¸ÄÏ
×÷ÕߣºMargo Seltzer
Oracle Berkeley DB Öг£Óà SQL º¯ÊýʹÓÃÖ¸ÄÏ¡£
2007 Äê 9 Ô·¢±í
³£³£ÓÐÈËÎÊ Oracle Berkeley DB “ÎÒÈçºÎÔÚ Berkeley DB ÖнøÐÐ <SQL ²éѯ>£¿"Òò´Ë£¬ÎÒÃÇ´Ë´¦½«½éÉÜÈçºÎÔÚ Oracle Berkeley DB ÖÐʵʩÖÚ¶àÄúϲ°®µÄ SQL ¹¦ÄÜ¡£²»ÊÇËùÓÐµÄ SQL Ó¦ÓóÌÐò¶¼Ó¦¸ÃÔÚ Oracle Berkeley DB ʵʩ£¨ Oracle Berkeley DB ÊÇÒ»¸ö¿ª·ÅÔ´µÄǶÈëʽÊý¾Ý¿âÒýÇæ£¬ÌṩÁË¿ìËÙ¡¢¿É¿¿¡¢±¾µØµÄ³Ö¾ÃÐÔ£¬ÎÞÐè¹ÜÀí£©£¬µ«Èç¹ûÄúÓÐһϵÁÐÏà¶Ô¹Ì¶¨µÄ²éѯÇҺܹØÐÄÐÔÄÜ£¬Berkeley DB ½«ÊǺܺõÄÑ¡Ôñ¡£
ÈÃÎÒÃÇ´ÓÍ·¿ªÊ¼ (ºÜºÃµÄÆð²½µã)¡£ÎÒÃÇ´Ó ABC ¿ªÊ¼Ñ§ÔĶÁ£¬ÔÚ Berkeley DB ÖÐÎÒÃÇ´ÓÊõÓ↑ʼ¡£
ÕâÀïΪ¼á¶¨µÄ SQL ³ÌÐòÔ±ÌṩÁËÒ»¸öСÐÍ“·ÒëÖ¸ÄÏ”£º
SQL ÊõÓï
Oracle Berkeley DB ¶ÔÓ¦´Ê»ã
Êý¾Ý¿â
»·¾³
±í
Êý¾Ý¿â
×Ö½Ú×é/ÐÐ
¼ü/Êý¾Ý¶Ô
Ö÷Ë÷Òý
¼ü
´ÎË÷Òý
´ÎÊý¾Ý¿â
Ñ¡ÔñÒ»¸öÓ¦ÓóÌÐòÓò — ´«Í³Ô±¹¤Êý¾Ý¿â£¬¾¹ýÒ»¶¨µÄ¼ò»¯¡£ÎÒÃǽøÒ»²½¼Ù¶¨ÄúÐèÒªËùÓÐ Berkeley DB µÄÈ«²¿¶îÍâÌØÐÔ£º²¢·¢¡¢ÊÂÎñ¡¢¿É»Ö¸´ÐԵȡ£
´´½¨Êý¾Ý¿â
ÔÚ SQL ÖУ¬Äú¿ÉÒÔÖ´ÐÐÒÔÏÂÃüÁî
CREATE DATABASE personnel
ÔÚ Berkeley DB ÖÐ, ÄúÏëÒª´´½¨Ò»¸ö·ÅÖÃËùÓÐÓ¦ÓóÌÐòÊý¾ÝµÄ»·¾³¡£ÔÚ´úÂëÖУ¬Äú½«Í¨¹ýÒ»¸ö»·¾³¾ä±úÀ´ÒýÓû·¾³£¬¸Ã¾ä±úÀàÐÍΪ DB_ENV¡£Äú½«Ê¹ÓÃÕâÒ»¾ä±úÀ´²Ù×÷´Ë»·¾³¡£ÏÖÔÚ£¬½«Ò»Ð©¾«ÃîµÄ´íÎó´¦Àí¹ý³Ì·ÅÔÚÒ»±ß£¬À´¼¯ÖÐÌÖÂÛ API¡£
DB_ENV *dbenv;
int ret;
/* Create the handle. */
DB_ASSERT(db_env_create(&dbenv, 0) == 0);
/*
* If you wanted to configure the environment, you would do that here.
* Configuraition might include things like setting a cache size,
* specifying error handling functions, specifying (different)
* directories in which to place your log and/or data files, setting
* parameters to describe how many locks you'd need, etc.
*/
/* Now, open the handle. */
DB_ASSERT(dbenv->open(dbenv, "my_databases/personnel",
DB_CREATE | DB_INIT_LOCK | DB_INIT_MPOOL | DB_INIT_TXN | DB_THREAD, 0644);
ÄúÏÖÔÚ´´½¨ºÍ´ò¿ªÁËÒ»¸ö»·¾³¡£ÐèҪעÒ⼸ÏîÊÂÇ飺
¿ªÊ¼Ç°±ØÐëÓÐ my_databases/personnel Ŀ¼
Ïà¹ØÎĵµ£º
ÕýÈ·µÄ£ºselect isnull(money,0) from (select sum(money) as money,3 as b from zhangbenjilu where datepart(month,usedatetime)=3) as a
´íÎóµÄ£ºselect isnull(money,0) from (select sum(money) as money,3 from zhangbenjilu where datepart(month,usedatetime)=3) ......
ÔÎÄת×Ô:http://tech.it168.com/a2009/0218/265/000000265868.shtml
Ë÷ÒýÊÇÒÔ±íÁÐΪ»ù´¡µÄÊý¾Ý¿â¶ÔÏó¡£Ë÷ÒýÖб£´æ×űíÖÐÅÅÐòµÄË÷ÒýÁУ¬²¢ÇҼͼÁËË÷ÒýÁÐÔÚÊý¾Ý¿â±íÖеÄÎïÀí´æ´¢Î»Öã¬ÊµÏÖÁ˱íÖÐÊý¾ÝµÄÂß¼ÅÅÐò¡£Í¨¹ýË÷Òý£¬¿ÉÒÔ¼Ó¿ìÊý¾ÝµÄ²éѯËٶȺͼõÉÙϵͳµÄÏìӦʱ¼ä;¿ÉÒÔʹ±íºÍ±íÖ®¼äµÄÁ¬½ÓËٶȼӿ졣
µ«ÊÇ£¬ ......
sql ´úÂë:
---------------------------------------------------------
/*
a ±íÃû
Èç¹ûÔÚsql ²éѯ·ÖÎöÆ÷µ±ÖгöÏÖ
" SQL Server ×èÖ¹Á˶Ô×é¼þ 'xp_cmdshell' µÄ ¹ý³Ì'sys.xp_cmdshell' µÄ·ÃÎÊ£¬ÒòΪ´Ë×é¼þÒÑ×÷Ϊ´Ë·þÎñÆ÷°²È«ÅäÖõÄÒ»²¿·Ö¶ø±»¹Ø± ......
×Ö·ûÀàÐÍ
Char: ¶¨³¤·ÇUnicodeµÄ×Ö·ûÐÍÊý¾Ý£¬×î´ó³¤¶ÈΪ8000
Varchar:±ä³¤·ÇUnicodeµÄ×Ö·ûÐÍÊý¾Ý£¬×î´ó³¤¶ÈΪ8000
Text(varchar(max)):±ä³¤·ÇUnicodeµÄ×Ö·ûÐÍÊý¾Ý£¬×î´ó³¤¶ÈΪ2G
Nchar:¶¨³¤UnicodeµÄ×Ö·ûÐÍÊý¾Ý£¬×î´ó³¤¶ÈΪ8000
Nvarchar:±ä³¤UnicodeµÄ×Ö·ûÐÍÊý¾Ý£¬×î´ó³¤¶ÈΪ8000
Ntext(nvarchar(max)):± ......
²Ù×÷Êý¾Ý¿â¹ý³ÌÖУ¬Óöµ½Ðí¶àÎÊÌ⣬ºÜ¶à¶¼ÓëSQL CODEºÍSQL StateÏà¹Ø£¬ÏÖÔÚ°ÑÒ»¸öÍêÕûµÄSQLCODEºÍSQLState´íÎóÐÅÏ¢ºÍÏà¹Ø½âÊÍ×÷ÒÔÏÂ˵Ã÷£¬Ò»À´¿ÉÒÔ×Ô¼º²Î¿¼£¬¶ÔDB2´íÎó×ÔÐÐÕÒ³öÔÒò
£¨ÉùÃ÷£ºÕâÊÇËѼ¯ÍøÉϵÄ×ÊÁϵÃÀ´µÄ,Ïêϸ³ö´¦²»¼ÇµÃÁË£©
sqlcode sqlstate ˵Ã÷
000 00000 SQLÓï¾ä³É¹¦Íê³É
01xxx SQLÓï¾ä³É¹¦Íê³É£¬µ«ÊÇÓ ......