ããå¨ä½äºè±å½çæ´¥éè¿çä¼ä¸æ§è½ä¸å¿ï¼Enterprise Performance Enterï¼ï¼EnterpriseDB æ°æ®åºæ§è½ä¸å®¶ä»¬å¯¹EnterpriseDBä¼ä¸çæ§è½è¿è¡äºä¼åï¼ä½¿å
¶è¿è¡é度æ¯EnterpriseDBåºç¡çï¼PostgreSQLï¼å¿«50%以 ä¸ãå æ¤ï¼è½è¿EnterpriseDBæ们å¯ä»¥è·å¾ä¸ä¸ªå
·æé«åº¦å¯æ©å±æ§çæ°æ®åºè§£å³æ¹æ¡ï¼è¯¥è§£å³æ¹æ¡æå
¶ç»æµé«æï¼ä»¤å类产åæ æ³ä¼åãå®é
ä¸ï¼è®¸å¤ 客æ·åæ ï¼å°å
¶ç°æé对 Oracle æ°æ®åºçåºç¨ç¨åºè¿ç§»å° EnterpriseDB æ°æ®åºåï¼åºç¨ç¨åºæ§è½ä¸åºäº Oracle æ°æ®åºè¿è¡çåæ ·çåºç¨ç¨åºç¸åï¼çè³æ´å¿«ã
ããSQLè¯ä¹å
¼å®¹
ããEnterpriseDB æ°æ®åºä¸ Oracle æ°æ®åºè½å¤ç¸äºå
¼å®¹çåºç¡å¨äºï¼åè
è½å¤è¯å«ååç¡®æ§è¡ç¨ Oracle SQL è¯è¨è¡¨ç¤ºçæ°æ®åºæ¥è¯¢ãå¦å¤ï¼EnterpriseDB æ°æ®åºæ¯æä¸ Oracle æ°æ®åºç¸åçæ°æ®ç±»åãå½æ°ååéï¼å¹¶å¯è§£å³ Oracle æ°æ®åºä¸ EnterpriseDB æ°æ®åºå¨å¤çå段å«åãå
Œ
±åä¹è¯ãåºå以å DUAL 表æ¹é¢çä¸å
¼å®¹é®é¢ãå¦ï¼
ããæ°æ®ç±»å
ããCHARãVARCHARãVARCHAR2ãNUMBERãCLOBãBLOBãDATEç
ããæ°æ®åºå½æ°
ããTO_CHARãTO_DATEãSYSDATEãDBMS_XXXç
ããå段å«å
ããä¸Oracleç¸åï¼å¨EnterpriseDBä¼ä¸çä¸è®¾å®"å段å«å"æ¶å¯å¿çç¥"AS"å
³é®å
ããSEQUENCEåºå
ããä¸Oracleç¸åï¼å¯éè¿seq_name.CURRVAL å seq_name.NEXTVALè¿è¡æä½
ããDUAL表
ããEnterpriseDBä¼ä¸çæ¯æDUAL表ï¼ä¸Oracleæ°æ®åºå®ç°SQLè¯å¥å
¼å®¹
ããççâ¦â¦
ããPL/SQLè¿ç¨è¯è¨å
¼å®¹
ããEnterpriseDBä¼ä¸çå
æ¬ä¸ç§ç§°ä¸º EDB-SPL çè¿ç¨è¯è¨ï¼è¯¥è¯è¨ä¸ Oracle ç PL/SQL è¿ç¨è¯è¨ç¸å¹é
ãä¸ PL/SQL 类似ï¼SPL æ¯ä¸ç§é«æãåç¶ç»æçè¿ç¨ç¼ç¨è¯è¨ï¼å¯ç¨äºç¼åèªå®ä¹è¿ç¨ãå½æ°å触åå¨ãEnterpriseDB SPL å Oracle PL/SQL ä¹é´æ大çç¸ä¼¼æ§è¿ä½¿ EnterpriseDBä¼ä¸çæ°æ®åºè½å¤æ¯æ Oracle å¼çè¿ç¨å
ãå½æ°æåéã
ãã
ããåç»æ
ããä¸ PL/SQL ä¸æ ·ï¼SPL è¿ç¨ãå½æ°å触åå¨å
·æåæ ·çåç»æãä¸ä¸ªåç±æå¤ä¸é¨åç»æ - ä¸ä¸ªå¯éç声æé¨åãä¸ä¸ªå¼ºå¶å¯æ§è¡ç¨åºé¨å以åä¸ä¸ªå¯éçå¼å¸¸é¨åãä¸ä¸ªåè³å°å¿
é¡»æä¸ä¸ªå¯æ§è¡ç¨åºé¨åï¼è¯¥é¨åå
å«ä¸ä¸ªæå¤ä¸ªä»äºå
³é®å BEGIN å END ä¹é´çè¿ç¨è¯å¥ã
ãã
ããæ°æ®åºå
ããEnterpriseDBä¼ä¸çæ°æ®åºæ¯æ Oracle å¼çæ°æ®åºå
ãå
æ¯ä¸ç§æé ï¼ç¨äºæ建å¯å¤ç¨ä»£ç åéç¨é¢å对象ç设计ææ¯ãå
æ¯ä¸ç»éè¿æ°æ®åºä¸éç¨å
å称æ¥è¯å«çç¸å
³æ°æ®åºå¯¹è±¡çéåãè¿äºæ°æ®åºå¯¹è±¡å
æ¬è¿ç¨ãå½æ°ååéã
ããä¸Oracleæ°æ®åºä¸æ ·ï¼EnterpriseDBä¼ä¸çæ°æ®åºå
æ以ä¸ä¸¤ä¸ªä¸»è¦é¨åç»æï¼
ããâ å
è§èï¼è¿æ¯å
å«å
Œ
±è¿ç¨ãå½æ°ååéçå
Œ
±æ¥å£ï¼è¿äºè¿ç¨ãå½æ°ååéå¯ä»¥å¨å
å¤ç±å
¶ä»ç¨åºååºç¨ç¨åºå¼ç¨ã
ããâ å
ä½ï¼å
ä½å
æ¬å¨å
è§èä¸å£°æçè¿ç¨åå½æ°çå®æ½é»è¾ï¼ä»¥å对ä¸è½ç±å
以å¤çå
¶ä»ç¨åºååºç¨ç¨åºè®¿é®çç§æåéãè¿ç¨åå½æ°ç声æ以åé»è¾ã
ããè¿ç¨
ããEnterpriseDB SPL ä¸çè¿ç¨ä¸ Oracle PL/SQL ä¸çè¿ç¨ä½¿ç¨æ¹å¼ç¸åãè¿ç¨æ¯ä¸äºå¯ä½ä¸ºåç¬ç¨åºè¯å¥è°ç¨çç¨åºãè°ç¨çæ¶åï¼è¿ç¨å¯ä»¥æéæ©å°ä»¥è¾å
¥åæ°çå½¢å¼æ¥æ¶æ¥èªè°ç¨ç¨åºçå¼ï¼å¹¶æéæ©å°ä»¥è¾åº åæ°çå½¢å¼åè°ç¨ç¨åºè¿åå¼ãéè¿å¨ EnterpriseDB æ°æ®åºä¸è¾å
¥è¿ç¨ä»£ç ï¼å¯å°è¿ç¨åå¨å°æ°æ®åºä¸ãç¶åï¼å¯ä»¥éè¿å
¶ä»ç¨åºè°ç¨è¯¥è¿ç¨ã
ããå½æ°
ããEnterpriseDB SPL ä¸çå½æ°ä¸ Oracle PL/SQL ä¸çå½æ°ä½¿ç¨æ¹å¼ç¸åãå½æ°æ¯å¯ä½ä¸ºè¡¨è¾¾å¼è°ç¨çç¨åºã计ç®å®æåï¼å½æ°ä¼è¿åä¸ä¸ªå¼ï¼è¯¥å¼å¨è¯¥å½æ°æåµå
¥ç表达å¼ä¸è¢«æ¿ä»£ãå½æ°å¯ä»¥æéæ©å°ä»¥è¾å
¥åæ° çå½¢å¼éç¨æ¥èªè°ç¨ç¨åºçå¼ãé¤äºè¿åå¼ä»¥å¤ï¼ å½æ°è¿å¯ä»¥æéæ©å°ä»¥è¾åºåæ°çå½¢å¼åè°ç¨ç¨åºè¿åå
¶ä»å¼ãç¶èï¼å¨å½æ°ä¸ä½¿ç¨è¾åºåæ°å¹¶éä¸ç§å¼å¾æå¡çç¼ç¨æ¹æ³ãå½æ°å¯ç¨äºè¯å¥ä¸ä»»ä½ä¼åºç°è¡¨è¾¾å¼ç å°æ¹ã
ãã触åå¨
ããEnterpriseDB SPL ä¸ç触åå¨ä¸ Oracle PL/SQL ä¸ç触åå¨ä½¿ç¨æ¹å¼ç¸åã触åå¨æ¯ä¸ä¸ªä»£ç åï¼è¯¥ä»£ç åå
·æç»å®çå称ï¼ä¸è¡¨ç¸å
³èï¼è¢«åå¨å¨æ°æ®åºä¸ãå½åçæäºé对表çäºä»¶æ¶ï¼ä»£ç åå³è¢«æ§è¡ãå½ä»£ ç å被æ§è¡æ¶ï¼å³å½¢è±¡å°ç§°è§¦åå¨è¢«"触å"ã
ããä¸ Oracle æ°æ®åºç±»ä¼¼ï¼EnterpriseDBä¼ä¸çæ¯æè¡çº§è§¦åå¨åè¯å¥çº§è§¦åå¨ã对äºå触åäºä»¶å½±åçæ¯ä¸è¡ï¼è¡çº§è§¦åå¨å°è¢«"触å"ä¸æ¬¡ãä¸æ¤ç¸å¯¹åºï¼å¯¹äºæ¯æ¡è§¦åè¯å¥ï¼è¯å¥çº§è§¦åå¨å°è§¦åä¸æ¬¡ï¼èæ éèèå触åäºä»¶å½±åçè¡çæ°éã
ããå Oracle æ°æ®åºä¸æ ·ï¼å¯¹äºè¯å¥çº§è§¦åå¨ï¼å¯ä»¥å¨è§¦åè¯å¥ä¹åæä¹åç± EnterpriseDBä¼ä¸çæ§è¡è§¦åå¨ä»£ç åï¼å¯¹äºè¡çº§è§¦åå¨ï¼å¯ä»¥å¨å触åäºä»¶å½±åä¹åæä¹åç± EnterpriseDBä¼ä¸çæ§è¡è§¦åå¨ä»£ç åã
ããå¿åå
ããå¨ EnterpriseDBä¼ä¸çæ°æ®åºä¸ï¼è¿ç¨ä»£ç åå¯ä»¥åå¨ Oracle æ°æ®åºä¸ä¸æ ·ï¼è¢«æ¹ä¾¿å°æ§è¡ãè¿ç±»ä»£ç å称为å¿ååãå¿ååæ¯æªå½åçï¼å¹¶ä¸æªè¢«åå¨å¨æ°æ®åºä¸ãå¯ä»¥ä»åºç¨ç¨åºç¼å²åºæ§è¡åå é¤å¿ååï¼é¤ééæ°å¨åºç¨ ç¨åºä¸è¾å
¥å代ç ï¼å¦åå¿ååä¸å¯è¢«å次æ§è¡ã对äºå¿«éãä¸æ¬¡æ§ç¨åºï¼å¦æµè¯ç¨åºï¼ï¼å¿ååé常æç¨ã
ããæ°æ®è¯å
¸è§å¾
ããEnterpriseDBä¼ä¸çæä¾äºé对å
¶æ°æ®è¯å
¸çè§å¾ï¼è¿äºè§å¾ä¸é常使ç¨ç Oracle æ°æ®è¯å
¸è§å¾é常åãè¿äºè§å¾ä½¿çæ Oracle æ°æ®åºçæ°æ®åºç®¡çååå¼å人åè½å¤å¿«éæ¥æ¾è¯å
¸ä¿¡æ¯ï¼èæ éäºè§£æ°çæ°æ®è¯å
¸æ ¼å¼ã
ããSQL*Pluså·¥å
·å
¼å®¹
ããEDB*Plusæ¯ä¸ä¸ªå·¥å
·ç¨åºï¼å®æä¾ä¸ä¸ªå½ä»¤è¡æ¹å¼çç¨æ·çé¢ï¼ç¨äºè®¿é® EnterpriseDBä¼ä¸çãå¨EDB*Plusä¸ï¼å¯ä»¥ä½¿ç¨æ åSQLå½ä»¤ï¼SPLå¿å代ç åï¼åEDB*Pluså½ä»¤ãEDB*Plus å½ä»¤ä¸Oracle çSQL*Pluså½ä»¤å
¼å®¹ï¼å¹¶ä¸æä¾åç§åè½ï¼å
æ¬ï¼
ããâ æ¥è¯¢æäºæ°æ®åºå¯¹è±¡
ããâ æ§è¡åå¨è¿ç¨
ããâ 对SQLå½ä»¤çè¾åºç»æè¿è¡æ ¼å¼å
ããâ æ§è¡æ¹éå¤çèæ¬
ããâ è®°å½è¾åº
ããSQL*Loadå¿«éåå
¥å
¼å®¹
ããEDB*Loaderçä¸äºç¹æ§å¯ä»¥æ¹åå è½½ææ¬æ件(text)å°æ°æ®åºçæ§è½ãEDBçæ åå è½½å½ä»¤æ¯"COPY"ï¼ä½æ¯å®æä¸äºéè¦çéå¶ä½¿å¾å è½½çæ¶é´ææ¾å¢å ã
ãã第ä¸ä¸ªéå¶å°±æ¯"COPY"å½ä»¤ä¸è½å¤çåºå®é¿åº¦æ ¼å¼çæ件(fixed width file formats)ãä½æ¯è®¸å¤æ件é½æ¯è¿ç§æ ¼å¼çï¼è¦ä½¿ç¨EnterpriseDBæ°æ®åºï¼è¿äºæ件就å¿
须被转æ¢æä¸åéå¶çæä»¶æ ¼å¼ï¼è¿å°±å¯¼è´äºæ件ä»åºå±è¢«éåäºä¸¤æ¬¡ã
ããå¦ä¸ä¸ªä¸»è¦çéå¶å°±æ¯"COPY"å½ä»¤ç¼ºå°é误å¤çæºå¶ãå½ä½¿ç¨"COPY"å½ä»¤æ¶ï¼å¦æè¦å è½½æ件ä¸çæä¸è¡æ¯ä¸åæ³çï¼åææçè¡é½å°è¢«æå¼ï¼å¹¶ä¸æ´ä¸ªæ件é½è¦è¢«éæ°å è½½ã
ããEDB*Loaderå¯ä»¥å°ä¸åæ³çè®°å½è½¬ç§»å°discardæ件ä¸ï¼ä»è使å¾åçé误æ¶ï¼æ´ä¸ªæ件çå¤çä»å¯ç»§ç»ãè¿æ ·ç¨æ·å¯ä»¥å¨æ¹éå è½½å¤çå®æåï¼åç¬å°æ£æ¥discardæ件ä¸çé®é¢æ°æ®ã
ããç¶èï¼EDB*Loaderæå
·æå§æ§çåè½è¿æ¯å®çç´æ¥è·¯å¾å è½½(Direct Path load)ï¼ç´æ¥è·¯å¾å 载忽ç¥äºå½±åæ¹éå¤çæ§è½ç大éå¤çæ¥éª¤ï¼å æ¤æ§è½æ´å¥½ï¼ä½å®ä¹éè¦éµå¾ªå®æ´çååæ§æä½ï¼ä¹å³è¦ä¹å
¨åï¼è¦ä¹ä¸ç¹ä¹ä¸åã
ããç´æ¥è·¯å¾å è½½å©ç¨æ§å¶æ件ä¸å®ä¹çåçæè¿°ä¿¡æ¯æ¥è§£æè¾å
¥çè¡ï¼ç¶åå°æ件ä¸çæ°æ®è½¬æ¢ä¸ºåçæ°æ®ç±»åï¼å¹¶å建ä¸ä¸ªå
é¨æ°æ®ç»æãä¹åï¼è¿ä¸ªæ°æ®ç»æå°ç´ æ¥è¢«æ ¼å¼åæEnterpriseDBæ°æ®åºçæ°æ®åãæ°å建çååç´æ¥åå
¥å°æ°æ®ç®å½ä¸ï¼ä»èç¥è¿äºè®¸å¤å¤çè¿ç¨ï¼å æ¤è½å¤æ´å¿«å°å è½½ã
ãã
ããCopyå è½½åç´æ¥è·¯å¾å 载对æ¯
ããDBLinké¾æ¥å
¼å®¹
ããä¸ä¸ªæ°æ®åºé¾æ¥(Database Link)å®ä¹äºä»ä¸ä¸ªæ°æ®åºæå¡å¨å°å¦ä¸ä¸ªæ°æ®åºæå¡å¨çéä¿¡ä¿¡éã使ç¨æ°æ®åºé¾æ¥ç好å¤æ¯ï¼å®å
许ç¨æ·è½å¤è®¿é®ä¸ä¸ªè¿ç¨æ°æ®åºç对象ï¼è¿æ ·ï¼è¯¥ç¨æ·ä¾¿è¢«ç»å®å°è¿ç¨å¯¹è±¡çç¨æ·æééä¸ã
ããæ°æ®åºé¾æ¥åæ¶ä¹æ¯åå¸å¼æ°æ®åºçåºç¡ï¼åºç¨ç¨åºå¯ä»¥åæ¶è®¿é®åå¸å¼ç¯å¢ä¸çå¤ä¸ªæ°æ®åºãä¾å¦ï¼ä¸ä¸ªå®¢æ·ç«¯å¯ä»¥ä»æ¬å°åºä¸åèµ·ä¸ä¸ªç®åçæ¥è¯¢ï¼èè¿æ¥è¿ç¨æ°æ®åºç表ãæ°æ®åºçä½ç½®å使ç¨çå¹³å°å¯¹äºå®¢æ·ç«¯åºç¨ç¨åºæ¥è¯´æ¯éæçã
温馨提示:答案为网友推荐,仅供参考