锘??xml version="1.0" encoding="utf-8" standalone="yes"?> CREATE OR REPLACE PROCEDURE SP_EMPLOYEE_AUTONOMOUS PRAGMA AUTONOMOUS_TRANSACTION; CREATE OR REPLACE PROCEDURE SP_EMPLOYEE BEGIN INSERT INTO EMPLOYEE_T(EMPLOYEE_ID,EMPLOYEE_NAME)VALUES('003','TS1'); CREATE OR REPLACE PROCEDURE SP_EMPLOYEE_AUTONOMOUS INSERT INTO EMPLOYEE_T(EMPLOYEE_ID,EMPLOYEE_NAME)VALUES('001','TS1'); PRAGMA AUTONOMOUS_TRANSACTION; 1銆佺洿鎺ユ墽琛屽姩鎬丼QL vs_sql VARCHAR2(4000); BEGIN vs_sql := 'UPDATE EMPLOYEE_T SET EMPLOYEE_NAME='||CHR(39)||'zsj'||CHR(39)||' WHERE EMPLOYEE_ID = 001'; WHEN OTHERS THEN end SP_DEAL; 2銆佹墽琛屾湁杈撳嚭緇撴灉鐨勫姩鎬丼QL vn_num NUMBER(2); BEGIN vs_sql := 'SELECT COUNT(EMPLOYEE_ID) FROM EMPLOYEE_T'; WHEN OTHERS THEN end SP_DEAL_OUT; 3銆佹墽琛屾湁杈撳叆鍙傛暟涓庤緭鍑虹粨鏋滅殑鍔ㄦ丼QL --select鏃朵嬌鐢?br />
CREATE OR REPLACE PROCEDURE SP_DEAL_IN_OUT vn_num NUMBER(2); BEGIN vs_employee_id := '001'; vs_sql := 'INSERT INTO EMPLOYEE_T(EMPLOYEE_ID,EMPLOYEE_NAME) VALUES (:1,:2) RETURNING EMPLOYEE_ID INTO :3'; WHEN OTHERS THEN end SP_DEAL_IN_OUT; CREATE OR REPLACE PROCEDURE SP_EMPLOYEE( vs_sql VARCHAR2(4000); BEGIN vs_sql := 'SELECT EMPLOYEE_ID,EMPLOYEE_NAME FROM EMPLOYEE_T '; end SP_EMPLOYEE; BEGIN vs_sql := 'SELECT EMPLOYEE_ID,EMPLOYEE_NAME FROM EMPLOYEE_T '; LOOP WHEN OTHERS THEN end SP_EMPLOYEE; vs_sql VARCHAR2(1000); --鍔ㄦ丼QL鎻忚堪 BEGIN WHEN OTHERS THEN
Expression exp = new Expression("(x + y)/2");
Map<String, BigDecimal> variables = new HashMap<String, BigDecimal>();
variables.put("x", new BigDecimal("4.32"));
variables.put("y", new BigDecimal("342.1"));
BigDecimal result = exp.eval(variables);
System.out.println(result);
// 甯冨皵鍨?br />Expression ww = new Expression("( A && B ) || C ");
Map<String, BigDecimal> vs = new HashMap<String, BigDecimal>();
vs.put("A", new BigDecimal("0"));
vs.put("B", new BigDecimal("1"));
vs.put("C", new BigDecimal("1"));
System.out.println(ww.eval(vs));
// 甯冨皵鍨?
Expression dd = new Expression(" A > 200 ");
Map<String, BigDecimal> as = new HashMap<String, BigDecimal>();
as.put("A", new BigDecimal("12000"));
System.out.println(dd.eval(as));
闇瑕乪val.jar
]]>
鏈嶅姟绔疧racle 11g
瀹㈡埛绔疧racle 10g
--鍑嗗鑴氭湰
DROP TABLE EMPLOYEE_SALARY_T;
CREATE TABLE EMPLOYEE_SALARY_T(
EMPLOYEE_ID VARCHAR2(20),
EMPLOYEE_NAME VARCHAR2(20),
DEPARTMENT VARCHAR2(10),
COMPANY VARCHAR2(10),
SALARY NUMBER(6),
SALARY_YEAR VARCHAR2(10)
);
INSERT INTO EMPLOYEE_SALARY_T VALUES('001','znp','dep001','VisSoft',30000,'2005');
INSERT INTO EMPLOYEE_SALARY_T VALUES('001','znp','dep001','VisSoft',40000,'2006');
INSERT INTO EMPLOYEE_SALARY_T VALUES('001','znp','dep001','VisSoft',50000,'2007');
INSERT INTO EMPLOYEE_SALARY_T VALUES('001','znp','dep001','VisSoft',60000,'2008');
INSERT INTO EMPLOYEE_SALARY_T VALUES('002','zsj','dep001','AvsSoft',3000,'2005');
INSERT INTO EMPLOYEE_SALARY_T VALUES('002','zsj','dep001','AvsSoft',4000,'2006');
INSERT INTO EMPLOYEE_SALARY_T VALUES('002','zsj','dep001','AvsSoft',5000,'2007');
INSERT INTO EMPLOYEE_SALARY_T VALUES('002','zsj','dep001','AvsSoft',6000,'2008');
INSERT INTO EMPLOYEE_SALARY_T VALUES('003','ts1','dep002','VisSoft',30000,'2005');
INSERT INTO EMPLOYEE_SALARY_T VALUES('003','ts1','dep002','VisSoft',40000,'2006');
INSERT INTO EMPLOYEE_SALARY_T VALUES('003','ts1','dep002','VisSoft',50000,'2007');
INSERT INTO EMPLOYEE_SALARY_T VALUES('003','ts1','dep002','VisSoft',60000,'2008');
INSERT INTO EMPLOYEE_SALARY_T VALUES('004','ts2','dep002','AvsSoft',3000,'2005');
INSERT INTO EMPLOYEE_SALARY_T VALUES('004','ts2','dep002','AvsSoft',4000,'2006');
INSERT INTO EMPLOYEE_SALARY_T VALUES('004','ts2','dep002','AvsSoft',5000,'2007');
INSERT INTO EMPLOYEE_SALARY_T VALUES('004','ts2','dep002','AvsSoft',6000,'2008');
COMMIT;
--琛岀駭鏌ヨ瀹炵幇鑴氭湰
--鏌ヨ鍚箟涓哄皢09騫磀ep001閮ㄩ棬鐨剆alary棰勫畾涓鴻閮ㄩ棬05騫淬?6騫翠笌08騫寸殑鎬誨拰
--鑰宒ep002閮ㄩ棬09騫寸殑salary棰勫畾涓鴻閮ㄩ棬06騫淬?7騫翠笌08騫寸殑鎬誨拰
SELECT COMPANY,DEPARTMENT,SALARYS FROM EMPLOYEE_SALARY_T
MODEL
RETURN UPDATED ROWS --鏄惁鏄劇ず鍩烘湰鏌ヨ琛?濡傛灉鏈夎琛屽垯涓嶆樉紺哄熀鏈煡璇㈣錛屽彧鏄劇ず鏌ヨ璁$畻緇撴灉琛?br />
PARTITION BY (COMPANY) --鍒嗗尯錛屽琛岃綆楃粨鏋滅殑鍒嗗尯錛屾湰渚嬩腑浠ompany鍒楀仛涓哄垎鍖洪」
DIMENSION BY (DEPARTMENT,SALARY_YEAR ) --鍐沖畾涓や釜璁$畻鐨勭淮搴︼紝褰撳墠琛ㄧず絎竴緇村害涓洪儴闂紝絎簩緇村害涓鴻柂璧勫勾搴?br />
MEASURES (SALARY SALARYS) --鎴戠殑鐞嗚В鏄鍒欐寚鍚戝垪錛屽嵆瀵瑰摢涓鍒楄繘琛岃鍒欒綆楁垨瑙勫垯鏀瑰彉
RULES (
SALARYS['dep001', '2009'] = SALARYS['dep001', '2005'] + SALARYS['dep001', '2006']+ SALARYS['dep001', '2008'],
SALARYS['dep002', '2009'] = SALARYS['dep002', '2006'] + SALARYS['dep002', '2007']+ SALARYS['dep002', '2008']
);
鎯蟲兂濡傛灉鐢ㄥ垪綰ф煡璇㈡椂瀹炵幇鐨勬晥鏋滐紙^_^ 鏄笉鏄瘮杈冨湴涓嶉夯鐑︼級
PS:鎶奀OMPANY鐨勫間笌DEPARTMENT鐨勫艱皟鎴愬悓姝ワ紝鍗矰EPARTMENT涓?01鏃跺叕鍙稿叏閮ㄤ負AvsSoft,DEPARTMENT涓?02鏃跺叕鍙稿叏閮ㄤ負VisSoft銆傜湅鐪嬬粨鏋滃浣曪紵
鍏冩棪蹇箰
]]>
CREATE TABLE EMPLOYEE_T
(
EMPLOYEE_ID VARCHAR2(20),
EMPLOYEE_NAME VARCHAR2(20)
);
鍦ㄥ瓨鍌ㄨ繃紼嬩腑錛屽挨鍏舵槸涓緇勭浉浜掕皟鐢ㄧ殑瀛樺偍榪囩▼涓鏋滆涓哄叾涓殑姣忎釜瀛樺偍榪囩▼璁板綍鎵ц鏃ュ織鏃朵細瀛樺湪姣旇緝楹葷儲鐨勯棶棰樸傚嵆鍦ㄦ搷浣滃嚭鐜板紓甯告椂濡備綍璁板綍鐩稿叧寮傚父鏃ュ織(榪欎釜鏃跺欑殑鏃ュ織搴旇鎵嶆槸鏈閲嶈鐨勫惂>_<!!!)錛屾鏃跺鏋滆皟鐢ㄤ竴鑸殑浜嬪姟鏂瑰紡榪涜commit浠ヤ繚瀛樻棩蹇楀垯鑴氭湰緙栧啓浼氱浉褰撶儲鐞愪笖緇存姢鎬у樊銆傛鏃跺彲浠ヨ冭檻閲囩敤鑷不浜嬪姟鐨勬柟寮忔潵鎻愪氦鎵ц鏃ュ織
鑷不浜嬪姟鐩稿綋浜庝笌褰撳墠浜嬪姟騫惰鐨勫彟涓涓簨鍔★紝鍏舵彁浜や笌鍚﹀茍涓嶅獎鍝嶅綋鍓嶄富瑕佷簨鍔$殑鎻愪氦涓庡洖婊氾紝閫氬父瀹氫箟鍦ㄥ嚱鏁頒笌瀛樺偍榪囩▼涔嬩腑鏂瑰紡濡備笅
IS
BEGIN
INSERT INTO EMPLOYEE_T(EMPLOYEE_ID,EMPLOYEE_NAME)VALUES('007','TS5');
INSERT INTO EMPLOYEE_T(EMPLOYEE_ID,EMPLOYEE_NAME)VALUES('008','TS6');
COMMIT;
END SP_EMPLOYEE_AUTONOMOUS;
閰嶅悎瀹炵幇鏂瑰紡涓?br />
IS
INSERT INTO EMPLOYEE_T(EMPLOYEE_ID,EMPLOYEE_NAME)VALUES('004','TS2');
INSERT INTO EMPLOYEE_T(EMPLOYEE_ID,EMPLOYEE_NAME)VALUES('005','TS3');
INSERT INTO EMPLOYEE_T(EMPLOYEE_ID,EMPLOYEE_NAME)VALUES('006','TS4');
SP_EMPLOYEE_AUTONOMOUS();
INSERT INTO EMPLOYEE_T(EMPLOYEE_ID,EMPLOYEE_NAME)VALUES('009','TS7');
INSERT INTO EMPLOYEE_T(EMPLOYEE_ID,EMPLOYEE_NAME)VALUES('0010','TS8');
ROLLBACK;
END SP_EMPLOYEE;
鍒欐墽琛岀殑緇撴灉鍒欏彧鎻掑叆007涓?08涓ゆ潯璁板綍
PS:涓縐嶉敊璇殑瀹炵幇鏂瑰紡錛屽涓?br />
IS
BEGIN
INSERT INTO EMPLOYEE_T(EMPLOYEE_ID,EMPLOYEE_NAME)VALUES('002','TS2');
INSERT INTO EMPLOYEE_T(EMPLOYEE_ID,EMPLOYEE_NAME)VALUES('007','TS5');
INSERT INTO EMPLOYEE_T(EMPLOYEE_ID,EMPLOYEE_NAME)VALUES('008','TS6');
COMMIT;
INSERT INTO EMPLOYEE_T(EMPLOYEE_ID,EMPLOYEE_NAME)VALUES('003','TS7');
INSERT INTO EMPLOYEE_T(EMPLOYEE_ID,EMPLOYEE_NAME)VALUES('004','TS8');
ROLLBACK;
END SP_EMPLOYEE_AUTONOMOUS;
姝ゆ椂緙栬瘧涓庢墽琛孲P_EMPLOYEE_AUTONOMOUS涓斾笉鎶ラ敊錛屼絾鏄墽琛岀殑緇撴灉灝眫~~~~~~~~~~~~~~~~ ^_^
]]>
鍔ㄦ丼QL鏄瓨鍌ㄨ繃紼嬪強鍑芥暟涓父鐢ㄧ殑瀹炵幇鏌ヨ鎿嶄綔鎵嬫錛屼互涓嬭褰曞嚑縐嶅父鐢ㄥ艦寮忎互渚涜嚜鏌?br />
CREATE TABLE EMPLOYEE_T(
EMPLOYEE_ID VARCHAR2(20) NOT NULL,
EMPLOYEE_NAME VARCHAR2(20)
);
CREATE OR REPLACE PROCEDURE SP_DEAL
IS
EXECUTE IMMEDIATE vs_sql;
COMMIT;
EXCEPTION
ROLLBACK;
CREATE OR REPLACE PROCEDURE SP_DEAL_OUT
IS
vs_sql VARCHAR2(4000);
EXECUTE IMMEDIATE vs_sql INTO vn_num;
EXCEPTION
ROLLBACK;
IS
vs_sql VARCHAR2(4000);
vs_employee_id EMPLOYEE_T.EMPLOYEE_ID%TYPE;
vs_employee_name EMPLOYEE_T.EMPLOYEE_NAME%TYPE;
vs_out_employee_id EMPLOYEE_T.EMPLOYEE_ID%TYPE;
vs_msg VARCHAR2(4000);
vs_employee_name := 'znp';
EXECUTE IMMEDIATE vs_sql USING vs_employee_id,vs_employee_name RETURN INTO vs_out_employee_id ;
COMMIT;
EXCEPTION
vs_msg :=SQLERRM;
ROLLBACK;
1銆侀氳繃鍔ㄦ丼QL鐩存帴鎻愬彇鏌ヨ緇撴灉,榪斿洖鏌ヨ緇撴灉闆?/p>
cur OUT SYS_REFCURSOR
)
IS
OPEN cur FOR vs_sql;
2銆侀氳繃鍔ㄦ丼QL鎻愬彇鏌ヨ緇撴灉闆?閫氳繃鏄懼紡娓告爣鏂瑰紡榪涜澶勭悊
CREATE OR REPLACE PROCEDURE SP_EMPLOYEE
IS
vs_sql VARCHAR2(4000);
vs_id EMPLOYEE_T.EMPLOYEE_ID%TYPE;
vs_name EMPLOYEE_T.EMPLOYEE_NAME%TYPE;
TYPE cur_cursor IS REF CURSOR;
cur cur_cursor;
OPEN cur FOR vs_sql;
FETCH cur INTO vs_id,vs_name;
UPDATE EMPLOYEE_T
SET EMPLOYEE_NAME = vs_name
WHERE EMPLOYEE_ID = vs_id;
EXIT WHEN cur%NOTFOUND;
END LOOP;
CLOSE cur;
COMMIT;
EXCEPTION
ROLLBACK;
3銆侀氳繃鍔ㄦ丼QL鐩存帴璋冪敤瀛樺偍榪囩▼
CREATE OR REPLACE PROCEDURE SP_DEAL(
is_name VARCHAR2
)
IS
--鎷兼帴鍔ㄦ佽皟鐢ㄥ摢涓涓瓨鍌ㄨ繃紼?鎸囧畾涓変釜璋冪敤褰㈠弬)
vs_sql := 'BEGIN SP_'||is_name||'_BACKUP(:V1,:V2,:V3,:v4); END;';
--鎵ц鍔ㄦ丼QL,鍚屾椂鎸囧畾涓涓叆鍙備笌涓や釜鍑哄樊
EXECUTE IMMEDIATE vs_sql USING IN is_id, IN is_para,OUT on_flag,OUT os_msg;
EXCEPTION
on_flag := -1;
os_msg := 'SP_'||is_name||':'||SUBSTR(SQLERRM,0,200);
END SP_DOUBT_BACKUP;
4銆佷負鍔ㄦ丼QL鎸囧畾鍏ュ弬
]]>
Server Oracle 11g
Client Oracle 10g
vs_string 杈撳叆鍙傛暟鏍煎紡濡?info1,info22,info333,info4444',浠?,"鍋氶棿闅旂,姣忓彉閲忛暱搴︿笉紜畾
vn_num vs_string 涓悎騫舵嫾鎺ョ殑鍙橀噺鏁伴噺
SELECT SUBSTR(vs_string,
DECODE(LEVEL,1,0,(INSTR(vs_string,',',1,LEVEL-1)))+1,
DECODE(LEVEL,vn_num,LENGTH(vs_string),INSTR(vs_string,',',1,DECODE(LEVEL,1,1,LEVEL))-1)-
(DECODE(LEVEL,1,0,(INSTR(vs_string,',',1,LEVEL-1)))+1)+1)
FROM DUAL
CONNECT BY LEVEL <= (SELECT REGEXP_COUNT(vs_string,',',1,'i')+1 FROM DUAL);
鍦╫racle 涓?IN 鍑芥暟鍙兘瀵規煡璇㈢殑緇撴灉闆嗘垨鏄庣‘鐨勫弬鏁伴泦鍚堣繘琛屽琛屾煡璇紝瀵逛簬涓涓弬鏁版棤璁哄叾琛ㄧ幇褰㈠紡鍙兘榪涜涓涓弬鏁扮殑鍒ゆ柇鏌ヨ
濡?/p>
EMPLOYEE_T 琛ㄤ腑瀛樺湪濡備笅鏁版嵁
EMPLOYEE_ID EMPLOYEE_NAME
--------------------------------
001 znp
002 zsj
003 zhsj
SELECT EMPLOYEE_ID,EMPLOYEE_NAME FROM EMPLOYEE_T WHERE EMPLOYEE_ID IN ('001','002')鐨勬煡璇㈢粨鏋滃涓?/p>
EMPLOYEE_ID EMPLOYEE_NAME
--------------------------------
001 znp
002 zsj
SELECT EMPLOYEE_ID,EMPLOYEE_NAME FROM EMPLOYEE_T WHERE EMPLOYEE_ID IN ('001,002')鐨勬煡璇㈢粨鏋滃涓?/p>
EMPLOYEE_ID EMPLOYEE_NAME
--------------------------------
鍦?SELECT * FROM EMPLOYEE_T WHERE EMPLOYEE_ID IN ('001,002') 涓?"'001,002'" 鍙兘鍋氫負涓涓叆鍙傝屼笉鏄袱涓叆鍙?鍙傛暟鍊間負
'001,002' ,鏁呮煡涓嶅埌鍚堥傜殑璁板綍
鍦ㄥ瓨鍌ㄨ繃紼嬩腑瀵逛簬浠ヤ笂鐨勫叆鍙傚彲浠ラ噰鍙栦袱縐嶅姙娉曡繘琛?/p>
1銆侀氳繃鎷兼帴鍔ㄦ丼QL榪涜鏌ヨ
vs_sql := 'SELECT EMPLOYEE_ID,EMPLOYEE_NAME FROM EMPLOYEE_T WHERE EMPLOYEE_ID IN ('||CHR(39)||'001'||CHR(39)||','||CHR(39)||'002'||CHR(39)||');
OPEN _cur FOR vs_sql;
2銆佸皢鎷兼帴涓茶漿涓虹粨鏋滈泦杈撳嚭鑷矷N鍑芥暟涓?浣跨敤濡備笅鑴氭湰
vs_string 杈撳叆鍙傛暟鏍煎紡濡?info1,info22,info333,info4444',浠?,"鍋氶棿闅旂,姣忓彉閲忛暱搴︿笉紜畾
vn_num vs_string 涓悎騫舵嫾鎺ョ殑鍙橀噺鏁伴噺
SELECT SUBSTR(vs_string,
DECODE(LEVEL,1,0,(INSTR(vs_string,',',1,LEVEL-1)))+1,
DECODE(LEVEL,vn_num,LENGTH(vs_string),INSTR(vs_string,',',1,DECODE(LEVEL,1,1,LEVEL))-1)-
(DECODE(LEVEL,1,0,(INSTR(vs_string,',',1,LEVEL-1)))+1)+1)
FROM DUAL
CONNECT BY LEVEL <= (SELECT REGEXP_COUNT(vs_string,',',1,'i')+1 FROM DUAL);
鐓у姙涓婁緥,鍗充負
SELECT EMPLOYEE_ID,EMPLOYEE_NAME FROM EMPLOYEE_T
WHERE EMPLOYEE_ID IN
(
SELECT SUBSTR(vs_string,
DECODE(LEVEL,1,0,(INSTR(vs_string,',',1,LEVEL-1)))+1,
DECODE(LEVEL,vn_num,LENGTH(vs_string),INSTR(vs_string,',',1,DECODE(LEVEL,1,1,LEVEL))-1)-
(DECODE(LEVEL,1,0,(INSTR(vs_string,',',1,LEVEL-1)))+1)+1)
FROM DUAL
CONNECT BY LEVEL <= (SELECT REGEXP_COUNT(vs_string,',',1,'i')+1 FROM DUAL)
);
-- a.ctl
Load data --鍔犺澆鏁版嵁
infile a.txt --鍔犺澆鏁版嵁鏂囦歡鍚嶇О(鐜板湪鏄浉瀵硅礬寰?鍙互鍐欐垚緇濆璺緞c:\bak.txt)
badfile a.bad --澶辮觸鏁版嵁鍐欏叆鏂囦歡
append -- append 榪藉姞 truncate truncate delete 鍒犻櫎
into table t_employee_bak --鎻掑叆鎿嶄綔琛?br />
FIELDS TERMINATED BY '|' --鏍規嵁鎸囧畾鏍囪瘑絎﹂殧鏂悇瀛楁鍊?OPTIONALLY ENCLOSED BY '"' 榪囨護鎺夋寚瀹氱殑鏍囪瘑絎?濡?絳?br />
(employee_id, --鎸囧畾鎻掑叆瀛楁鍙婃暟鎹?br />
employee_name,
employee_salary)
鍑嗗瀹屾垚鍚庯紝鍦╟md涓嬭緭鍏?br />
sqlldr -userid zhsj/zhsj@zhsj control=c:\a.ctl
鎵ц錛屽湪t_employee_bak琛ㄤ腑鍙互瑙佸埌a.txt涓殑鏁版嵁宸插鍏?br />
鍦ㄦ墽琛岃繃紼嬪鏋滃嚭鐜版暟鎹病鏈夊鍏ョ殑鎯呭喌錛屽彲鑳藉師鍥犱細鏈変互涓嬪嚑縐嶆儏鍐?br />
1銆佸湪瀵煎嚭鐨勬暟鎹枃浠朵腑瀛樺湪鍚屾椂鎵撳嵃杈撳嚭鐨勫懡浠よ錛屽皢鍛戒護琛屽垹闄ゅ悗閲嶆柊淇濆瓨鏂囦歡鍗沖彲灝嗘暟鎹甯告彃鍏ュ埌鏁版嵁搴撲腑
2銆佽櫧鐒舵枃鏈腑宸叉槸姝g‘鐨勬暟鎹絾浠嶇劧鏃犳硶瀵煎叆,姝ゆ椂鍦ㄦ墽琛岀殑SQL鑴氭湰涓鍔犱竴涓棿闅旂鐨勮緭鍑猴紝鍗?br />
select employee_id||'|'||employee_name||'|'||employee_salary from t_employee;
鏀逛負
select employee_id||'|'||employee_name||'|'||employee_salary||'|' from t_employee;
姝ゆ椂灝嗕細姝e父瀵煎叆錛岃繖鏄洜涓哄垪鍊煎瓨鍦ㄧ┖鏁版嵁瀵艱嚧闂撮殧璁$畻闂
浠ヤ笂涓簍xt鏍煎紡鏁版嵁鏂囦歡瀵煎嚭
瀵逛簬寮傝川鏁版嵁搴擄紝鍙互閲囩敤sqldeveloper絳夊伐鍏峰皢鐩稿叧鏁版嵁搴撲腑鏁版嵁浠sv鏍煎紡瀵煎嚭錛屾鏃跺湪緙栧啓鎵ц鑴氭湰鏃墮』鍙樻洿濡備笅
-- a.ctl
Load data --鍔犺澆鏁版嵁
infile a.txt --鍔犺澆鏁版嵁鏂囦歡鍚嶇О(鐜板湪鏄浉瀵硅礬寰?鍙互鍐欐垚緇濆璺緞c:\bak.txt)
badfile a.bad --澶辮觸鏁版嵁鍐欏叆鏂囦歡
append -- append 榪藉姞 truncate truncate delete 鍒犻櫎
into table t_employee_bak --鎻掑叆鎿嶄綔琛?br />
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' --鏍規嵁鎸囧畾鏍囪瘑絎﹂殧鏂悇瀛楁鍊?OPTIONALLY ENCLOSED BY '"' 榪囨護鎺夋寚瀹氱殑鏍囪瘑絎?濡?絳?br />
(employee_id, --鎸囧畾鎻掑叆瀛楁鍙婃暟鎹?br />
employee_name,
employee_salary)
鍥犱負csv鏍煎紡鏂囦歡鍦ㄧ敤txt鎵撳紑鍙互鐪嬪埌鏁版嵁鏂囦歡鏍煎紡涓?1","znp","80000.00"錛岄渶瑕佸皢' " '鏍囪瘑絎﹀幓鎺夛紝鎵嶅彲浠ユ甯稿鍏?br />
澶ф暟鎹噺鏃禼sv鏍煎紡鏂囦歡浼氭瘮txt鏍煎紡鏂囦歡澶?鍊嶅乏鍙籌紝涓斿鍏ユ椂鍙兘鍑虹幇闂錛屾墍浠ュ敖閲忛噰鐢╰xt鏂囦歡鏂瑰紡瀵煎叆