ÆäÊµÄØ£¬¾õµÃÿ´ÎÓõ½Êý¾Ý¿âµÄµØ·½£¬¶¼Òª¿ª¾É»úÆ÷£¬¸Ð¾õ¶¼ºÜ²»Ë¬µÄ¡£
¼ÈÈ»²»Ë¬£¬»¹ÓÌÔ¥Ê²Ã´ÄØ£¿ ×Ô¼ºÕûÀíÏÂÁËÐÂÂòµÄµçÄÔ£¬¿ªÊ¼°²×°oracle 9i2 °æ±¾µÄ£¬Õâ¸ö°æ±¾ÎÒ»¹ÊǵÚÒ»´Î°²×°£¬×°ÆðÀ´»¹ÕæÊDz»Ë³ÊÖ~
¼òµ¥ËµÏ°²×°¹ý³Ì°É£º
1¡¢ ÕÒ¸öÐéÄâ¹âÇý£¬µ±È»Äã»úÆ÷×°µÄÓÐ×îºÃÁË£¬Ã»Óеϰ¾ÍÈ¥×°¸ö°É¡£È»ºóÆô¶¯ÐéÄâ¹âÇý£¬ÒÀ´Î×°ÔØ£º
oracle 9i2_Disk1 for windows.iso
oracle 9i2_Disk2 for windows.iso
oracle 9i2_Disk3 for windows.iso
¾ÍºÃÁË~
°²×°Ê±£¬¾¡Á¿²»Òª³öÏÖÖÐÎÄĿ¼£¬µ±È»ÕâÑùÒ²²»ºÃ¡£ d:/ÖÐÎÄĿ¼/oracle/.. ÕâÑùoracleÆô¶¯»á³öÏÖÎÊÌâµÄ~
°²×°½áÊøÊ±£¬²»ÒªÍüÁ˽«·þÎñ£¨ÓÖ»÷ÎҵĵçÄÔ£¬µã¹ÜÀí£¬µã·þÎñ£©ÖеÄOracleOraHome92TNSListener ºÍOracleServiceORACLEÉèÖóÉÊÖ¶¯Æô¶¯µÄ¡£Òª²»Äãÿ´Î¿ª»ú£¬¿ÉÒªµÈ°ëÌìÁË¡£¡£¹þ¹þ
È»ºóÄØ£¬oracle×Ô¼º±¾ÉíÓõÄÒ²ºÜ²»Ë¬£¬ÎÒÕâÓÃÁËpl/sql developer£¬½âѹÏ£¬ÐèÒª°²×°µÄ¾Í°²×°ÏÂ~ ok~
Èç¹û£¬Ä㲻ϰ¹ßÓ¢ÎĵÄpl/sql developer ¿ÉÒÔÓøöÖÐÎĵIJå¼þ£¬°ÑËü·ÅÔÚ pl/sql developerĿ¼ÀïÖ±½Ó°²×°¾ÍºÃÁË
----- ......
´´½¨OracleÁÙʱ±í£¬¸ù¾ÝÉúÃüÆÚ£¬¿ÉÒÔ·ÖΪÓÐÁ½ÖÖÀàÐ͵ÄÁÙʱ±í£º
Ò»¡¢¸ÅÄ
1¡¢»á»°¼¶ÁÙʱ±í
2¡¢ÊÂÎñ¼¶ÁÙʱ±í
»á»°¼¶µÄÁÙʱ±íÉúÃüÆÚÊÇsession£¬µ±Ä㵱ǰsessionδÍ˳öµÄÇé¿öÏ£¬ÁÙʱ±íµÄÊý¾Ý»¹´æÔÚ£¬¶øµ±Í˳öµ±Ç°sessionµÄʱ£¬¸ÃsessionÀïÁÙʱ±íµÄÊý¾Ý¾ÍÏûÍöÁË£¬ÊÇsession¼¶±ð¡£
ÊÂÎñ¼¶µÄÁÙʱ±íÉúÃüÆÚÊÇtransaction£¬µ±ÄãµÄtransactoinûÓÐÏûÍöʱ£¬¼ÈûÓÐrollback»òÕßÊÇcommitʱ£¬ÁÙʱ±íµÄÊý¾ÝÈÔÈ»´æÔÚ£¬Ö»Óе±ÄãµÄÊÂÎñÏûÍö£¬¼Èrollback»òcommitºó£¬ÄãÁÙʱ±íµÄÊý¾Ý¾Í»áÏûÍö¡£ÊÇtransaction¼¶±ð¡£
¶þ¡¢¶¨Ò壺
»á»°¼¶ÁÙʱ±í£ºCreate Global Temporary Table tableanme (col1 type1, col2 type2) On Commit Preserve Rows£»
ÊÂÎñ¼¶ÁÙʱ±í£ºCreate Global Temporary Table tableanme (col1 type1, col2 type2) On Commit Delete Rows£»
Èý¡¢×ܽ᣺
ÁÙʱ±í²»Õ¼ÓÃÓû§±í¿Õ¼ä£¬Êǽ¨Á¢ÔÚtemporary tablespaceÉϵģ¬ÁÙʱ±íÓëÕý³£±íÒ»Ñù¿ÉÒÔ½¨Á¢index£¬view£¬triggerµÈ¡£ ......
»Ø¹Ë
Óαê --- ´¦Àí¶àÐмǼ
´æ´¢¹ý³Ì
º¯Êý
ORACLEÖеijÌÐò°ü
PACKAGE
ÓÃ;: <1>Ä£¿é»¯
<Àý×Ó> --¹«Ë¾µÄÔ±¹¤µÄ¹ÜÀí
1.Ôö¼ÓÒ»¸öÔ±¹¤
2.Ô±¹¤ÀëÖ°
Óô洢¹ý³ÌºÍº¯ÊýÀ´ÊµÏÖ
1.Ôö¼ÓÒ»¸öÔ±¹¤
create sequence seq1 start with 7935;
create or replace function insert_emp(
enm emp.ename%type, --Ô±¹¤µÄÃû×Ö
ejob varchar2, --Ö°Îñ
mgr number, --Éϼ¶
ehiredate date,--²Î¼Ó¹¤×÷ʱ¼ä
esal number, --¹¤×Ê
ecomm number, --½òÌù
dno number)
return number
as
a number;
begin
--¹¤ºÅÀ´×ÔÐòÁÐ
select seq1.nextval into a
from dual;
--Ôö¼ÓÁËÒ»¸öÔ±¹¤
insert into emp values (
a,enm,ejob,m ......
1.½éÉÜÒ»ÏÂSTL£¬Ïêϸ˵Ã÷STLÈçºÎʵÏÖvector¡£
Answer:
STL (±ê׼ģ°æ¿â£¬Standard Template Library)ËüÓÉÈÝÆ÷Ëã·¨µü´úÆ÷×é³É¡£
STLÓÐÒÔϵÄһЩÓŵ㣺
¿ÉÒÔ·½±ãÈÝÒ×µØÊµÏÖËÑË÷Êý¾Ý»ò¶ÔÊý¾ÝÅÅÐòµÈһϵÁеÄËã·¨£»
µ÷ÊÔ³ÌÐòʱ¸ü¼Ó°²È«ºÍ·½±ã£»
¼´Ê¹ÊÇÈËÃÇÓÃSTLÔÚUNIXƽ̨ÏÂдµÄ´úÂëÄãÒ²¿ÉÒÔºÜÈÝÒ×µØÀí½â£¨ÒòΪSTLÊÇ¿çÆ½Ì¨µÄ£©¡£
vectorʵÖÊÉϾÍÊÇÒ»¸ö¶¯Ì¬Êý×飬»á¸ù¾ÝÊý¾ÝµÄÔö¼Ó,¶¯Ì¬µÄÔö¼ÓÊý×é¿Õ¼ä¡£
2.Èç¹ûÓÃVC¿ª·¢³ÌÐò£¬³£¼ûÕâô¼¸¸ö´íÎó£¬C2001,c2005,c2011,ÕâЩ´íÎóµÄÔÒòÊÇʲô¡£
Answer:
ÔÚѧϰVC++µÄ¹ý³ÌÖУ¬Óöµ½µÄLNK2001´íÎóµÄ´íÎóÏûÏ¢Ö÷ҪΪ£º
unresolved external symbol “symbol”£¨²»È·¶¨µÄÍⲿ“·ûºÅ”£©¡£
Èç¹ûÁ¬½Ó³ÌÐò²»ÄÜÔÚËùÓеĿâºÍÄ¿±êÎļþÄÚÕÒµ½ËùÒýÓõĺ¯Êý¡¢±äÁ¿»ò±êÇ©£¬½«²úÉú´Ë´íÎóÏûÏ¢¡£
Ò»°ãÀ´Ëµ£¬·¢Éú´íÎóµÄÔÒòÓÐÁ½¸ö£ºÒ»ÊÇËùÒýÓõĺ¯Êý¡¢±äÁ¿²»´ ......
1.½éÉÜÒ»ÏÂSTL£¬Ïêϸ˵Ã÷STLÈçºÎʵÏÖvector¡£
Answer:
STL (±ê׼ģ°æ¿â£¬Standard Template Library)ËüÓÉÈÝÆ÷Ëã·¨µü´úÆ÷×é³É¡£
STLÓÐÒÔϵÄһЩÓŵ㣺
¿ÉÒÔ·½±ãÈÝÒ×µØÊµÏÖËÑË÷Êý¾Ý»ò¶ÔÊý¾ÝÅÅÐòµÈһϵÁеÄËã·¨£»
µ÷ÊÔ³ÌÐòʱ¸ü¼Ó°²È«ºÍ·½±ã£»
¼´Ê¹ÊÇÈËÃÇÓÃSTLÔÚUNIXƽ̨ÏÂдµÄ´úÂëÄãÒ²¿ÉÒÔºÜÈÝÒ×µØÀí½â£¨ÒòΪSTLÊÇ¿çÆ½Ì¨µÄ£©¡£
vectorʵÖÊÉϾÍÊÇÒ»¸ö¶¯Ì¬Êý×飬»á¸ù¾ÝÊý¾ÝµÄÔö¼Ó,¶¯Ì¬µÄÔö¼ÓÊý×é¿Õ¼ä¡£
2.Èç¹ûÓÃVC¿ª·¢³ÌÐò£¬³£¼ûÕâô¼¸¸ö´íÎó£¬C2001,c2005,c2011,ÕâЩ´íÎóµÄÔÒòÊÇʲô¡£
Answer:
ÔÚѧϰVC++µÄ¹ý³ÌÖУ¬Óöµ½µÄLNK2001´íÎóµÄ´íÎóÏûÏ¢Ö÷ҪΪ£º
unresolved external symbol “symbol”£¨²»È·¶¨µÄÍⲿ“·ûºÅ”£©¡£
Èç¹ûÁ¬½Ó³ÌÐò²»ÄÜÔÚËùÓеĿâºÍÄ¿±êÎļþÄÚÕÒµ½ËùÒýÓõĺ¯Êý¡¢±äÁ¿»ò±êÇ©£¬½«²úÉú´Ë´íÎóÏûÏ¢¡£
Ò»°ãÀ´Ëµ£¬·¢Éú´íÎóµÄÔÒòÓÐÁ½¸ö£ºÒ»ÊÇËùÒýÓõĺ¯Êý¡¢±äÁ¿²»´ ......
תÌû£ºÒ»»ÔµÄÎÄÕÂ
ÔÚLinuxÏÂ×ö¿ª·¢ÄÑÃâÒª½Ó´¥makefile£¬Õû¸öÏîÄ¿µÄ¹¹½¨¶¼ÒÀÀµÓÚËü¡£100¸ödeveloperÓÐ100ÖÖmakefileµÄд·¨£¬ÔÚÒ»¸ö½Ï´óµÄÏîÄ¿ÖУ¬¸÷ÖÖ¸÷ÑùµÄmakefileÎÞÂÛÔÚ¿ª·¢¡¢ºóÆÚά»¤»¹ÊÇÕû¸öϵͳµÄ³ÖÐø¼¯³É¶¼ÊÇÒ»¸ö¸ºµ£¡£
ÓÐÐÒ²ÎÓëÖØ¹¹Ò»¸öÒÅÁôϵͳµÄmakefile£¬ÒÔÏÂÊÇһЩÐĵúÍÒ»¸ömakefileÄ£°å¡£
ÖØ¹¹Ä¿µÄ£º
1.ÇåÎúÒ×¶®¡¢ÈÝÒ×ά»¤
2.·½±ãϵͳµÄ³ÖÐø¼¯³É
ÖØ¹¹ÔÔò£º
1.×ÓÄ£¿émakefileÄ£°å»¯
2.ÍⲿÒÀÀµ¡¢Í¨Óú궨Ò弯Öл¯
3.ÖмäºÍ×îÖÕÊä³ö¼¯ÖУ¬±ãÓÚϵͳ¹¹½¨
ÏÂÃæÊÇ×ܽá³öµÄÒ»¸ömakefileÄ£°å£¬ÎÒÔÚÈÕ³£µÄ¿ª·¢Öж¼ÓÃËü£¬ÆäÖмÓÈëÁËÏêϸµÄ×¢ÊÍ¡£
view plaincopy to clipboardprint?
#Get the ROOT_PATH which common files located, assuming this makefile located in $(ROOT_PATH)/src/sub_module
ROOT_PATH = $(shell cd ../..; pwd)
#Where define the path of third party modules
include $(ROOT_PATH)/path
#Where define common macros such as CC=gcc, CXX=g++ and so on
include $(ROOT_PATH)/common
#Set target output path and the path of intermidiate object
#The path macros should include in $(ROOT_PATH)/path
OUT_PATH ......
תÌû£ºÒ»»ÔµÄÎÄÕÂ
ÔÚLinuxÏÂ×ö¿ª·¢ÄÑÃâÒª½Ó´¥makefile£¬Õû¸öÏîÄ¿µÄ¹¹½¨¶¼ÒÀÀµÓÚËü¡£100¸ödeveloperÓÐ100ÖÖmakefileµÄд·¨£¬ÔÚÒ»¸ö½Ï´óµÄÏîÄ¿ÖУ¬¸÷ÖÖ¸÷ÑùµÄmakefileÎÞÂÛÔÚ¿ª·¢¡¢ºóÆÚά»¤»¹ÊÇÕû¸öϵͳµÄ³ÖÐø¼¯³É¶¼ÊÇÒ»¸ö¸ºµ£¡£
ÓÐÐÒ²ÎÓëÖØ¹¹Ò»¸öÒÅÁôϵͳµÄmakefile£¬ÒÔÏÂÊÇһЩÐĵúÍÒ»¸ömakefileÄ£°å¡£
ÖØ¹¹Ä¿µÄ£º
1.ÇåÎúÒ×¶®¡¢ÈÝÒ×ά»¤
2.·½±ãϵͳµÄ³ÖÐø¼¯³É
ÖØ¹¹ÔÔò£º
1.×ÓÄ£¿émakefileÄ£°å»¯
2.ÍⲿÒÀÀµ¡¢Í¨Óú궨Ò弯Öл¯
3.ÖмäºÍ×îÖÕÊä³ö¼¯ÖУ¬±ãÓÚϵͳ¹¹½¨
ÏÂÃæÊÇ×ܽá³öµÄÒ»¸ömakefileÄ£°å£¬ÎÒÔÚÈÕ³£µÄ¿ª·¢Öж¼ÓÃËü£¬ÆäÖмÓÈëÁËÏêϸµÄ×¢ÊÍ¡£
view plaincopy to clipboardprint?
#Get the ROOT_PATH which common files located, assuming this makefile located in $(ROOT_PATH)/src/sub_module
ROOT_PATH = $(shell cd ../..; pwd)
#Where define the path of third party modules
include $(ROOT_PATH)/path
#Where define common macros such as CC=gcc, CXX=g++ and so on
include $(ROOT_PATH)/common
#Set target output path and the path of intermidiate object
#The path macros should include in $(ROOT_PATH)/path
OUT_PATH ......
Í·Îļþregex.hÖж¨ÒåÁËc/c++ʹÓÃÕýÔò±í´ïʽµÄº¯Êý£º regcomp(), regexec(), regerror(), and regfree() ¡£regcomp()±àÒëÕýÔò±í´ïʽ£¬regexec()Æ¥ÅäÕýÔò±í´ïʽ£¬ regfree()ÊÍ·ÅÕýÔò±í´ïʽ£¬regerror()±¨¸æÕýÔò±í´ïʽ´íÎóÐÅÏ¢¡£Ê¹Ó÷½·¨ÈçÏ´úÂëËùʾ£º
static string merge_path(const string base, const string path)
{
static regex_t re;
static int initialized = 0;
regmatch_t pm[1];
string p, s;
size_t len;
assert(*path != '/');
if (base && (p = strrchr(base, '/'))) {
newarray(s, (p - base) + strlen(path) + 2);
strncpy(s, base, (p - base) + 1);
strcpy(s + ((p - base) + 1), path);
} else {
newarray(s, strlen(path) + 2);
#if 0
s[0] = '/';
strcpy(s + 1, path);
#else
strcpy(s, path);
#endif
}
/* Replace all substrings of form "/xxx/../" with "/" */
if (! initialized) {
assert(regcomp(&re, "/[^/]+/\\.\\./", REG_EXTENDED) == 0);
initialized = 1;
}
len = strlen(s);
while (rege ......
Í·Îļþregex.hÖж¨ÒåÁËc/c++ʹÓÃÕýÔò±í´ïʽµÄº¯Êý£º regcomp(), regexec(), regerror(), and regfree() ¡£regcomp()±àÒëÕýÔò±í´ïʽ£¬regexec()Æ¥ÅäÕýÔò±í´ïʽ£¬ regfree()ÊÍ·ÅÕýÔò±í´ïʽ£¬regerror()±¨¸æÕýÔò±í´ïʽ´íÎóÐÅÏ¢¡£Ê¹Ó÷½·¨ÈçÏ´úÂëËùʾ£º
static string merge_path(const string base, const string path)
{
static regex_t re;
static int initialized = 0;
regmatch_t pm[1];
string p, s;
size_t len;
assert(*path != '/');
if (base && (p = strrchr(base, '/'))) {
newarray(s, (p - base) + strlen(path) + 2);
strncpy(s, base, (p - base) + 1);
strcpy(s + ((p - base) + 1), path);
} else {
newarray(s, strlen(path) + 2);
#if 0
s[0] = '/';
strcpy(s + 1, path);
#else
strcpy(s, path);
#endif
}
/* Replace all substrings of form "/xxx/../" with "/" */
if (! initialized) {
assert(regcomp(&re, "/[^/]+/\\.\\./", REG_EXTENDED) == 0);
initialized = 1;
}
len = strlen(s);
while (rege ......