]]>[杞琞浠涔堟槸savepoint錛?/title>http://www.tkk7.com/wangbing/archive/2010/03/05/314557.htmlwangchangbingwangchangbingFri, 05 Mar 2010 01:06:00 GMThttp://www.tkk7.com/wangbing/archive/2010/03/05/314557.htmlhttp://www.tkk7.com/wangbing/comments/314557.htmlhttp://www.tkk7.com/wangbing/archive/2010/03/05/314557.html#Feedback0http://www.tkk7.com/wangbing/comments/commentRss/314557.htmlhttp://www.tkk7.com/wangbing/services/trackbacks/314557.html浠涔堟槸savepoint?
Use the SAVEPOINT statement to identify a point in a transaction to which you can later roll back.
渚嬪錛?nbsp;
SQL> SELECT * FROM SCOTT.DEPT ;
DEPTNO DNAME LOC
------ -------------- -------------
10 ACCOUNTING NEW YORK
20 RESEARCH DALLAS
30 SALES CHICAGO
40 OPERATIONS BOSTON
SQL> UPDATE SCOTT.DEPT SET loc ='a' WHERE loc='NEW YORK';
1 row updated
SQL> SAVEPOINT a;
Savepoint created
SQL> UPDATE SCOTT.DEPT SET loc ='b' WHERE loc='DALLAS';
1 row updated
SQL> SAVEPOINT b;
Savepoint created
SQL> ROLLBACK TO SAVEPOINT a;
Rollback complete
SQL> COMMIT;
Commit complete
SQL> SELECT * FROM SCOTT.DEPT ;
DEPTNO DNAME LOC
------ -------------- -------------
10 ACCOUNTING a
20 RESEARCH DALLAS
30 SALES CHICAGO
40 OPERATIONS BOSTON
娉ㄦ剰錛?br />
1.savepoint 鍚嶅瓧淇濇寔鍞竴
2.濡傛灉鍚庨潰鏂拌緗殑涓涓猻avepoint鐨勫悕瀛楀拰鍓嶉潰鐨勪竴涓猻avepoint鍚嶅瓧閲嶅錛屽墠涓涓猻avepoint灝嗚鍙栨秷
3.璁劇疆savepoint鍚庯紝浜嬪姟鍙互緇х畫commit,鍏ㄩ儴鍥為鎴栬呭洖閫鍒板叿浣撲竴涓猻avepoints
(Savepoint names must be distinct within a given transaction. If you create a second savepoint with the same identifier as an earlier savepoint, then the earlier savepoint is erased. After a savepoint has been created, you can either continue processing, commit your work, roll back the entire transaction, or roll back to the savepoint.)
4.鎾ら攢鐨勫鐞嗗繀欏繪槸鍦ㄦ病鏈夊彂鍑篶ommit鍛戒護鐨勫墠鎻愪笅鎵嶈兘鏈夋晥銆?br />
濡備笅錛氬湪commit;鍚庢墽琛宺ollback to savepoint澶辮觸
SQL> SELECT * FROM SCOTT.DEPT ;
DEPTNO DNAME LOC
------ -------------- -------------
10 ACCOUNTING NEW YORK
20 RESEARCH DALLAS
30 SALES CHICAGO
40 OPERATIONS BOSTON
SQL> UPDATE SCOTT.DEPT SET loc ='a' WHERE loc='NEW YORK';
1 row updated
SQL> SAVEPOINT a;
Savepoint created
SQL> UPDATE SCOTT.DEPT SET loc ='b' WHERE loc='DALLAS';
1 row updated
SQL> SAVEPOINT b;
Savepoint created
SQL> COMMIT;
Commit complete
SQL> ROLLBACK TO SAVEPOINT a;
ROLLBACK TO SAVEPOINT a
ORA-01086: 浠庢湭鍒涘緩淇濈暀鐐?'A'
SQL> SELECT * FROM SCOTT.DEPT ;
DEPTNO DNAME LOC
------ -------------- -------------
10 ACCOUNTING a
20 RESEARCH b
30 SALES CHICAGO
40 OPERATIONS BOSTON
]]>oracle甯哥敤鐨勭洃鎺ц鍙?/title>http://www.tkk7.com/wangbing/archive/2010/02/03/311821.htmlwangchangbingwangchangbingWed, 03 Feb 2010 09:09:00 GMThttp://www.tkk7.com/wangbing/archive/2010/02/03/311821.htmlhttp://www.tkk7.com/wangbing/comments/311821.htmlhttp://www.tkk7.com/wangbing/archive/2010/02/03/311821.html#Feedback0http://www.tkk7.com/wangbing/comments/commentRss/311821.htmlhttp://www.tkk7.com/wangbing/services/trackbacks/311821.html--鏍規(guī)嵁FILE_ID & BLOCK_ID鑾峰緱瀵硅薄鍚嶇О
SELECT /*+ RULE*/ owner, segment_name, segment_type
FROM dba_extents
WHERE file_id = &file_id
AND &block_id BETWEEN block_id AND block_id + blocks - 1;
--鏍規(guī)嵁鎿嶄綔緋葷粺PID,鏌ヨSESSION淇℃伅
SELECT a.sid, a.serial#, b.spid, a.terminal, a.machine, a.program, a.osuser
FROM v$session a, v$process b
WHERE a.paddr = b.addr AND b.spid = '&SPID';
--鏍規(guī)嵁SESSION SID,鏌ヨ鎿嶄綔緋葷粺PID
SELECT a.sid, a.serial#, b.spid, a.terminal, a.machine, a.program, a.osuser
FROM v$session a, v$process b
WHERE a.paddr = b.addr AND a.sid = '&SID';
--鏌ヨ鐢ㄦ埛姝e湪鎵ц鐨凷QL
SELECT sql_text
FROM v$sqltext
WHERE hash_value = (SELECT sql_hash_value
FROM v$session
WHERE sid = &sid)
ORDER BY piece;
--鏌ヨ褰撳墠鐨勭郴緇熺瓑寰呬簨浠?br />
SELECT *
FROM v$session_wait
WHERE event NOT LIKE '%SQL*Net%'
AND event NOT LIKE '%rdbms%'
AND event NOT LIKE '%timer%'
AND event NOT LIKE '%jobq%'
ORDER BY event, seconds_in_wait;
--鏌ヨ璇︾粏鐨勫綋鍓嶇郴緇熺瓑寰呬簨浠?br />
SELECT s.sid, s.username, w.seq#, w.event, w.p1text, w.p1, w.p2text, w.p2, w.p3text, w.p3,
w.seconds_in_wait, w.state, s.logon_time, s.osuser, s.program
FROM v$session s, v$session_wait w
WHERE s.sid = w.sid
AND w.event NOT LIKE '%SQL*Net%'
AND w.event NOT LIKE '%rdbms%'
AND w.event NOT LIKE '%timer%'
AND w.event NOT LIKE '%jobq%'
ORDER BY w.event, w.seconds_in_wait;
--鏌ヨ絳夊緟db file sequential/scattered read鐨凷ession姝e湪鎵ц鐨凷QL
SELECT s.sid, s.username, t.hash_value, t.piece, t.sql_text
FROM v$session s, v$session_wait w, v$sqltext t
WHERE s.sid = w.sid
AND s.sql_hash_value = t.hash_value
AND w.event IN ('db file sequential read', 'db file scattered read')
ORDER BY s.sid, t.piece;
--鏌ヨ絳夊緟db file sequential/scattered read瀵瑰簲鐨勬暟鎹簱瀵硅薄
SELECT /*+ RULE*/ s.sid, s.username, w.seq#, w.event,
d.segment_type, d.owner || '.' || d.segment_name AS segment_name,
w.seconds_in_wait, w.state, s.logon_time
FROM v$session s, v$session_wait w, dba_extents d
WHERE s.sid = w.sid
AND d.file_id = w.p1
AND w.p2 BETWEEN d.block_id AND d.block_id + d.blocks - 1
AND w.event IN ('db file sequential read', 'db file scattered read')
ORDER BY w.event, segment_name;
--鏌ヨ瀵艱嚧LOCK鐨凷ID,SPID,LOCKED_OBJECT,LOCK_TYPE絳変俊鎭?br />
SELECT /*+ RULE*/
l.sid, p.spid, s.username,s.logon_time, s.osuser, s.program, l.type,
CASE l.TYPE WHEN 'TM' THEN O.object_name WHEN 'TX' THEN '' END as OBJECT_NAME,
DECODE (l.lmode, 0, '0=NONE', 1, '1=NULL', 2, '2=RS', 3, '3=RX', 4, '4=S', 5, '5=SRX', 6, '6=X') lmode,
CASE l.request WHEN 0 THEN '' ELSE 'BLOCKED BY ' || l.id2 END as BLOCKED,
CASE l.block WHEN 0 THEN '' ELSE l.id2 || ' IS BLOCKING' END as BLOCKING,
l.request, l.ctime
FROM v$lock l, v$session s, dba_objects o, v$process p
WHERE l.type in ('TX', 'TM')
AND s.paddr = p.addr
AND l.sid = s.sid
AND l.id1 = o.object_id(+)
ORDER BY s.username, l.sid, l.ctime;
--鏌ヨ瀵艱嚧DDL LOCK鐨勮緇嗕俊鎭?br />
SELECT s.sid, p.spid, s.username, a.owner || '.' || a.NAME AS OBJECT_NAME,
a.TYPE, a.mode_held, a.mode_requested, s.osuser, s.logon_time, s.program
FROM dba_ddl_locks a, v$session s, v$process p
WHERE s.sid = a.session_id
AND s.paddr = p.addr
AND (a.mode_held = 'Exclusive' OR a.mode_requested = 'Exclusive')
ORDER BY s.USERNAME, a.NAME;
--鏌ヨ浜嬪姟浣跨敤鐨勫洖婊氭
SELECT s.username, s.sid, s.serial#, t.ubafil "UBA filenum",
t.ubablk "UBA Block number", t.used_ublk "Number of undo Blocks Used",
t.start_time, t.status, t.start_scnb, t.xidusn rollid, r.name rollname
FROM v$session s, v$transaction t, v$rollname r
WHERE s.saddr = t.ses_addr AND t.xidusn = r.usn;
####################################################################################################
--鏌ヨLIBRARY CACHE PIN絳夊緟浜嬩歡絳夊緟鐨勫璞?br />
--瑙嗗浘緙╁啓:[K]ernel [G]eneric [L]ibrary Cache Manager [OB]ject
SELECT /*+ RULE*/ addr, kglhdadr, kglhdpar, kglnaobj, kglnahsh, kglhdobj
FROM x$kglob
WHERE kglhdadr IN (SELECT p1raw
FROM v$session_wait
WHERE event LIKE '%library%');
--鏌ヨLIBRARY CACHE PIN絳夊緟浜嬩歡涓寔鏈夎絳夊緟瀵硅薄鐨凷ESSION淇℃伅
--瑙嗗浘緙╁啓:[K]ernel [G]eneric [L]ibrary Cache Manager Object [P]i[N]s
SELECT /*+ RULE*/ a.SID, a.username, a.program, b.addr, b.kglpnadr, b.kglpnuse,
b.kglpnses, b.kglpnhdl, b.kglpnlck, b.kglpnmod, b.kglpnreq
FROM v$session a, x$kglpn b
WHERE a.saddr = b.kglpnuse
AND b.kglpnmod <> 0
AND b.kglpnhdl IN (SELECT p1raw
FROM v$session_wait
WHERE event LIKE '%library%');
--鏌ヨLIBRARY CACHE PIN絳夊緟浜嬩歡涓寔鏈夎絳夊緟瀵硅薄鐨凷ESSION鎵ц鐨凷QL璇彞
SELECT sql_text
FROM v$sqlarea
WHERE (v$sqlarea.address, v$sqlarea.hash_value) IN (
SELECT sql_address, sql_hash_value
FROM v$session
WHERE SID IN (
SELECT /*+ RULE*/ SID
FROM v$session a, x$kglpn b
WHERE a.saddr = b.kglpnuse
AND b.kglpnmod <> 0
AND b.kglpnhdl IN (SELECT p1raw
FROM v$session_wait
WHERE event LIKE '%library%')));
--鏌ヨ鍝釜SESSION姝e湪浣跨敤鏌愪釜瀵硅薄(LIBRARY CACHE)
SELECT DISTINCT s.sid,
s.username,
s.logon_time,
s.osuser,
s.program,
b.kglnahsh as SQL_HASH_VALUE,
b.kglnaobj as SQL_TEXT
FROM v$session s, x$kglpn n, x$kglob b
WHERE n.kglpnuse = s.saddr
AND upper(b.kglnaobj) LIKE upper('%&OBJECT_NAME%')
AND n.kglpnhdl = b.kglhdadr;
--鏌ヨV$SESSION_WAIT鐢ㄦ埛PIN浣忎簡鍝簺瀵硅薄(LIBRARY CACHE)
SELECT DISTINCT s.sid,
s.username,
s.logon_time,
s.osuser,
s.program,
n.kglpnmod,
b.kglnahsh AS SQL_HASH_VALUE,
b.kglnaobj AS SQL_TEXT
FROM v$session s, x$kglpn n, x$kglob b
WHERE n.kglpnuse = s.saddr
AND n.kglpnhdl = b.kglhdadr
AND s.sid IN (SELECT sid
FROM v$session_wait
WHERE event NOT LIKE '%SQL*Net%'
AND event NOT LIKE '%rdbms%'
AND event NOT LIKE '%timer%'
AND event NOT LIKE '%jobq%')
ORDER BY s.username;
--鏌ヨ鍝簺澶у璞¤杞藉叆SHARED POOL鏃跺鑷村叾瀹冨璞¤鑰佸寲
SELECT s.sid, s.username, s.logon_time, s.osuser, s.program,
k.ksmlrcom, k.ksmlrsiz, k.ksmlrnum, k.ksmlrhon, k.ksmlrses
FROM x$ksmlru k, v$session s
WHERE s.saddr = k.ksmlrses
AND ksmlrsiz > 0;
####################################################################################################
--鏌ヨSchema鍝簺琛ㄦ槸鍏ㄨ〃鎵弿
SELECT o.name, x.tch
FROM obj$ o, x$bh x, dba_users u
WHERE x.obj = o.dataobj#
AND STANDARD.bitand(x.flag, 524288) > 0
AND u.username = UPPER('&username')
ORDER BY x.tch DESC;
--鏌ヨ浣庢晥鐜囩殑SQL(BUFFER_GETS鎺掑簭)
SELECT *
FROM (SELECT s.sid,
b.spid,
s.sql_hash_value,
q.sql_text,
q.executions,
q.buffer_gets,
ROUND(q.buffer_gets / q.executions) AS buffer_per_exec,
ROUND(q.elapsed_time / q.executions) AS cpu_time_per_exec,
q.cpu_time,
q.elapsed_time,
q.disk_reads,
q.rows_processed
FROM v$session s, v$process b, v$sql q
WHERE s.sql_hash_value = q.hash_value
AND s.paddr = b.addr
AND s.status = 'ACTIVE'
AND s.TYPE = 'USER'
AND q.buffer_gets > 0
AND q.executions > 0
ORDER BY buffer_per_exec DESC)
WHERE ROWNUM <= 10;
####################################################################################################
--鐩戞帶BufferCache鍛戒腑鐜?br />
SELECT a.value + b.value logical_reads, c.value phys_reads,
ROUND (100 * (1 - c.value / (a.value + b.value)), 4) hit_ratio
FROM v$sysstat a, v$sysstat b, v$sysstat c
WHERE a.NAME = 'db block gets'
AND b.NAME = 'consistent gets'
AND c.NAME = 'physical reads';
--鐩戞帶LibraryCache鍛戒腑鐜?br />
SELECT SUM (pins) total_pins, SUM (reloads) total_reloads,
SUM (reloads) / SUM (pins) * 100 libcache_reload_ratio
FROM v$librarycache;
--鏌ヨ浜х敓鐨勮窡韙枃浠跺悕
SELECT p1.VALUE || '/' || p2.VALUE || '_ora_' || p.spid || '.trc' filename
FROM v$process p, v$session s, v$parameter p1, v$parameter p2
WHERE p1.NAME = 'user_dump_dest'
AND p2.NAME = 'db_name'
AND p.addr = s.paddr
AND s.audsid = USERENV ('SESSIONID');
--鍒犻櫎琛ㄤ腑鐨勯噸澶嶈褰?br />
DELETE FROM table_name a
WHERE ROWID >
(SELECT MIN (ROWID)
FROM table_name b
WHERE b.pk_column_1 = a.pk_column_1
AND b.pk_column_2 = a.pk_column_2);
]]>瀛樺偍榪囩▼浜嬪姟鎺у埗http://www.tkk7.com/wangbing/archive/2010/01/26/310894.htmlwangchangbingwangchangbingTue, 26 Jan 2010 10:58:00 GMThttp://www.tkk7.com/wangbing/archive/2010/01/26/310894.htmlhttp://www.tkk7.com/wangbing/comments/310894.htmlhttp://www.tkk7.com/wangbing/archive/2010/01/26/310894.html#Feedback0http://www.tkk7.com/wangbing/comments/commentRss/310894.htmlhttp://www.tkk7.com/wangbing/services/trackbacks/310894.html瀛樺偍榪囩▼閲岀殑浜嬪姟鎿嶄綔錛?br />
create or replace procedure pr_mypro2(p_a in varchar2,p_b in varchar2,p_count out number)
temp varchar2(1000); /**//*瀹氫箟涓存椂鍙橀噺*/
is
begin
select code into p_count from table1 where a=p_a; /**//*鏌ヨ騫惰繑鍥炲?/
temp := p_count; /**//*灝嗚繑鍥炲艱祴緇欎復鏃跺彉閲?/
savepoint point1; /**//*淇濆瓨鐐?/
insert into table2(a,b)values(temp,p_b); /**//*灝嗕復鏃跺彉閲忓兼坊鍔犲埌鏂拌〃鐨勫瓧孌?/
savepoint point2;
insert into
exception
when others then
rollback to savepoint point1; /**//*寮傚父澶勭悊錛屼繚瀛樼偣涓嬮潰鐨勬搷浣滈兘涓嶄細琚墽琛?/
return;
end;
淇濆瓨鐐?br />
(SAVEPOINT)鏄簨鍔″鐞嗚繃紼嬩腑鐨勪竴涓爣蹇楋紝涓庡洖婊氬懡浠?ROLLBACK)緇撳悎浣跨敤錛屼富瑕佺殑鐢ㄩ旀槸鍏佽鐢ㄦ埛灝嗘煇涓孌靛鐞嗗洖婊氳屼笉蹇呭洖婊氭暣涓簨鍔°?br />
濡傛灉瀹氫箟浜嗗涓猻avepoint錛屽綋鎸囧畾鍥炴粴鍒版煇涓猻avepoint鏃訛紝閭d箞鍥炴粴鎿嶄綔灝嗗洖婊氳繖涓猻avepoint鍚庨潰鐨勬墍鏈夋搷浣滐紙鍗充嬌鍚庨潰鍙兘鏍囪浜哊涓猻avepoint錛夈?br />
渚嬪錛屽湪涓孌靛鐞嗕腑瀹氫箟浜嗕簲涓猻avepoint錛屼粠絎笁涓猻avepoint鍥炴粴錛屽悗闈㈢殑絎洓銆佺浜斾釜鏍囪鐨勬搷浣滈兘灝嗚鍥炴粴錛屽鏋滀笉浣跨敤ROLLBACK TO savepoint_name鑰屼嬌鐢≧OLLBACK錛屽皢浼氭粴鏁翠釜浜嬪姟澶勭悊銆?/span>
瀵逛簬璁劇疆ODI鐨勫畾鏃舵墽琛屽満鏅紝闇瑕佸惎鍔⊿cheduler Agent錛屽湪涓涓柊鐨凮DI瀹夎瀹屾瘯涔嬪悗錛岄粯璁ょ殑odiparams.bat鏂囦歡涓緗殑鏄繛鎺EMO鐜鐨勬暟鎹簱榪炴帴閰嶇疆錛屽鏋滄垜浠湪鑷繁鐨勬暟鎹簱閲屽垱寤轟簡Master Repository鍜學ork Repository錛岄偅涔堥渶瑕佷慨鏀硅繛鎺ュ弬鏁般?br />
鍦ㄦ垜鐨勬祴璇曠幆澧冧腑錛屾垜浣跨敤鐨勬槸鑷繁鏈哄櫒涓奜racle 11g鏁版嵁搴擄紝瀹炰緥鍚嶆槸orcl11g錛屽垯闇瑕佸仛濡備笅淇敼錛?br />
set ODI_SECU_DRIVER=oracle.jdbc.driver.OracleDriver
set ODI_SECU_URL=jdbc:oracle:thin:@localhost:1521:orcl11g
set ODI_SECU_USER=snpm
set ODI_SECU_ENCODED_PASS=b9yX4CpBkdmaP8Y3mYbaoye2p
set ODI_SECU_WORK_REP=WORKREP1
set ODI_USER=SUPERVISOR
set ODI_ENCODED_PASS=hZypfAZQf.Yo8VWVI6HZzc
鍏朵腑錛?br />
ODI_SECU_USER闇瑕佽緗負鍒涘緩Master Repository鏃跺欑殑鐢ㄦ埛鍚嶏紝鍦ㄨ繖閲屾槸snpm銆?br />
ODI_SECU_ENCODED_PASS闇瑕佺敤agent瀹炵敤紼嬪簭鍔犲瘑涓涓嬶紝鐢ㄦ硶鏄痑gent encode %PASSWORD%銆?br />
ODI_SECU_WORK_REP璁劇疆涓哄垱寤篧ork Repository鏃跺欒搗鐨勫悕瀛椼?br />
ODI_USER榛樿鏄疭UPERVISOR錛岃繖鏄繛鎺DI鐨勭敤鎴峰悕銆?br />
ODI_ENCODED_PASS榛樿鏄疭UNOPSIS錛屼篃闇瑕佺敤agent encode鍔犲瘑涔嬪悗鐨勫箋?br />
璁劇疆瀹屾瘯錛屽惎鍔⊿cheduler Agent錛屼細閬囧埌涓嬮潰鐨勯敊璇細
java.lang.Exception: Agent is not declared in Topology Manager
鎴戜滑榪橀渶瑕佸湪Topology Manager -> Physical Architecture -> Agents閲岄潰鍒涘緩涓涓狝gent錛屽~鍐橝gent鐨勫悕瀛楋紝鐩戝惉鐨勬満鍣紝绔彛銆傚鏋滈渶瑕佽緗甋chedule錛岃繕闇瑕佸湪Topology Manager -> Logical Architecture -> Agents閲岄潰鍐嶅垱寤轟竴涓狝gent錛屽皢鍒氭墠鍒涘緩鐨凱hysical Agent鍜屾Logical Agent緇戝畾鍦ㄤ竴璧楓?br />
鐒跺悗錛屽湪Designer -> Projects -> Scenarios -> Scheduling涓垱寤轟竴涓墽琛岃鍒掞紝涔嬪悗鍐嶆鍚姩Scheduler Agent灝監(jiān)K浜嗐?br />
C:\OraODI\oracledi\bin>agentscheduler “-port=20910″ “-NAME=myFirstAgent”
A JDK is required to execute Web Services with OracleDI. You are currently using a JRE.
OracleDI: Starting Scheduler Agent …
Starting Oracle Data Integrator Agent…
Version : 10.1.3.4.0 – 30/10/2007
Agent in scheduling mode
Number of items for scheduled executions:0 08/17/200802:58:09 PM(main): Server Launched
Aug 17, 20083:06:27 PM com.sunopsis.j.s a
INFO: Start Thread[1001@2008/08/17_03:06:27:000,5,main] @ Aug 17, 20083:06:27 PM
]]>oracle鍖咃紝鍔ㄦ佹墽琛宻ql鈥斺?TESTFUNINPROChttp://www.tkk7.com/wangbing/archive/2009/05/21/271970.htmlwangchangbingwangchangbingThu, 21 May 2009 06:37:00 GMThttp://www.tkk7.com/wangbing/archive/2009/05/21/271970.htmlhttp://www.tkk7.com/wangbing/comments/271970.htmlhttp://www.tkk7.com/wangbing/archive/2009/05/21/271970.html#Feedback0http://www.tkk7.com/wangbing/comments/commentRss/271970.htmlhttp://www.tkk7.com/wangbing/services/trackbacks/271970.htmldrop package TESTFUNINPROC /
/*==============================================================*/ /* Database package: TESTFUNINPROC */ /*==============================================================*/ createorreplace package TESTFUNINPROC as
type OUTLIST is REF CURSOR; function TESTFUN (TYPENUM INvarchar2) return outlist; procedure TESTPROC (TYPENUM INvarchar2,RESULT OUT outlist); end TESTFUNINPROC; /
createorreplace package body TESTFUNINPROC as function TESTFUN (TYPENUM INvarchar2) return outlist as
rc outlist; Begin open rc for select* from GG_BOOK book where book.BOOK_ZBLX = typeNum ; return rc; End; procedure TESTPROC (TYPENUM INvarchar2,RESULT OUT outlist) as Begin
result := hblz_new.TestFunInProc.testFun(typeNum); End; end TESTFUNINPROC; /
]]>ODI鐨勪竴鐐規(guī)暣鐞?/title>http://www.tkk7.com/wangbing/archive/2009/05/21/271964.htmlwangchangbingwangchangbingThu, 21 May 2009 06:25:00 GMThttp://www.tkk7.com/wangbing/archive/2009/05/21/271964.htmlhttp://www.tkk7.com/wangbing/comments/271964.htmlhttp://www.tkk7.com/wangbing/archive/2009/05/21/271964.html#Feedback0http://www.tkk7.com/wangbing/comments/commentRss/271964.htmlhttp://www.tkk7.com/wangbing/services/trackbacks/271964.html Hi,
I have two tables with same structure. Now I want to union the data from these two table and load the result in target table. How can I achieve this functionality in ODI? In formatica this can be done using UNION Transformation but I don't know about ODI.
Please help.
Thanks,
Monika
Hi Monika,
Union transformation cannot be done by Interface in ODI.
There are three option in ODI to achieve your task
1) you need to create two interfaces like int1 and int2
where int1 will transfer the data from tab1(source) to target table and int2 will transfer the tab2(source) to target table.
2) In second option, create a view for the union of tab1 and tab2 and use that view as source in the interafce to tranfer the union data to target. In this method we can achive this by single interface.
3) create the ODI procedure with a sql query of insert into target_table (select * from tab1 union select * from tab2).