DML Error Logging in Oracle 10g
DML Error Logging in Oracle 10g
Ö÷ÒªÔÚÓÚʹÓÃDBMS_ERRLOG.create_error_log Õâ¸ö°üÀ´¸ú×Ùdml´íÎóÐÅÏ¢
SQL> CREATE TABLE source (
2 id NUMBER(10) NOT NULL,
3 code VARCHAR2(10),
4 description VARCHAR2(50),
5 CONSTRAINT source_pk PRIMARY KEY (id)
6 );
±íÒÑ´´½¨¡£
SQL> DECLARE
2 TYPE t_tab IS TABLE OF source%ROWTYPE;
3 l_tab t_tab := t_tab();
4 BEGIN
5 FOR i IN 1 .. 100000 LOOP
6 l_tab.extend;
7 l_tab(l_tab.last).id := i;
8 l_tab(l_tab.last).code := TO_CHAR(i);
9 l_tab(l_tab.last).description := 'Description for ' || TO_CHAR(i);
10 END LOOP;
11
12 -- For a possible error condition.
13 l_tab(1000).code := NULL;
14 l_tab(10000).code := NULL;
15
16 FORALL i IN l_tab.first .. l_tab.last
17 INSERT INTO source VALUES l_tab(i);
18
19 COMMIT;
20 END;
21 /
PL/SQL ¹ý³ÌÒѳɹ¦Íê³É¡£
SQL> EXEC DBMS_STATS.gather_table_stats(USER, 'source', cascade => TRUE);
PL/SQL ¹ý³ÌÒѳɹ¦Íê³É¡£
SQL> CREATE TABLE dest (
2 id NUMBER(10) NOT NULL,
3 code VARCHAR2(10) NOT NULL,
4 description VARCHAR2(50),
5 CONSTRAINT dest_pk PRIMARY KEY (id)
6 );
±íÒÑ´´½¨¡£
SQL> CREATE TABLE dest_child (
2 id NUMBER,
3 dest_id NUMBER,
4 CONSTRAINT child_pk PRIMARY KEY (id),
5 CONSTRAINT dest_child_dest_fk FOREIGN KEY (dest_id) REFERENCES dest(id)
6 );
±íÒÑ´´½¨¡£
SQL> BEGIN
2 DBMS_ERRLOG.create_error_log (dml_table_name => 'dest');
3 END;
4 /
PL/SQL ¹ý³ÌÒѳɹ¦Íê³É¡£
SQL> SELECT owner, table_name, tablespace_name
2 from all_tables
3 WHERE owner = 'TEST';
OWNER TABLE_NAME
------------------------------ ------------------------------
TABLESPACE_NAME
------------------------------
TEST TEST
USERS
SQL> DESC err$_dest
Ãû³Æ ÊÇ·ñΪ¿Õ? ÀàÐÍ
----------------------------------------- -------- ----------------------------
ORA_ERR_NUMBER$ NUMBER
ORA_ERR_MESG$ VARCHAR2(2000)
ORA_ERR_ROWID$ ROWID
ORA_ERR_OPTYP$ VARCHAR2(2)
ORA_ERR_TAG$ VARCHAR2(2000)
ID VARCHAR2(4000)
CODE VARCHAR2(4000)
DESCRIPTION VARCHAR2(4000)
SQL> INSERT
Ïà¹ØÎĵµ£º
1£® ½âÊÍFUNCTION£¬PROCEDUREºÍPACKAGEÇø±ð
´ð£ºfunction ºÍprocedureÊÇPL/SQL´úÂëµÄ¼¯ºÏ£¬Í¨³£ÎªÁËÍê³ÉÒ»¸öÈÎÎñ¡£procedure ²»ÐèÒª·µ»ØÈκÎÖµ¶øfunction½«·µ»ØÒ»¸öÖµÔÚÁíÒ»·½Ã棬PackageÊÇΪÁËÍê³ÉÒ»¸öÉÌÒµ¹¦ÄܵÄÒ»×éfunctionºÍprocedureµÄ¼¯ºÏ¡£
2£® ȡij¸öÐòÁеĵ±Ç°ÖµµÄPL/SQLÓï ......
À´Ô´£º²»Ïê ×÷ÕߣºØýÃû ʱ¼ä£º2009-9-6 17:14:04 Tags£º Orac ʹÓ÷½·¨
ÐèÇó£ºÒµÎñÂß¼ÔÚ´¦ÀíÊý¾Ýʱ£¬ÐèÒª·µ»ØMessage²¢×èÖ¹³ÌÐòµÄ¼ÌÐøÔËÐС£µ«ÊÇ£¬ÔÚ´æ´¢¹ý³ÌʹÓÃOracleÊý¾Ý¿âµÄRaise¸ù±¾ÎÞ·¨Âú×ãÏÖÔÚµÄÒªÇó¡£
½â¾ö·½·¨£º
ʹÓÃRAISE_APPLICATION_ERROR
RAISE_APPLICATION_ERROR ( erro ......
Ò»£ºsql loader µÄÌØµã
oracle×Ô¼º´øÁ˺ܶàµÄ¹¤¾ß¿ÉÒÔÓÃÀ´½øÐÐÊý¾ÝµÄÇ¨ÒÆ¡¢±¸·ÝºÍ»Ö¸´µÈ¹¤×÷¡£µ«ÊÇÿ¸ö¹¤¾ß¶¼ÓÐ×Ô¼ºµÄÌØµã¡£
±ÈÈç˵expºÍimp¿ÉÒÔ¶ÔÊý¾Ý¿âÖеÄÊý¾Ý½øÐе¼³öºÍµ¼³öµÄ¹¤×÷£¬ÊÇÒ»ÖֺܺõÄÊý¾Ý¿â±¸·ÝºÍ»Ö¸´µÄ¹¤¾ß£¬Òò´ËÖ÷ÒªÓÃÔÚÊý¾Ý¿âµÄÈȱ¸·ÝºÍ»Ö¸´·½Ãæ¡£ÓÐ×ÅËٶȿ죬ʹÓüòµ¥£¬¿ì½ÝµÄÓŵ㣻ͬʱҲÓÐһР......
select trim(leading | trailing | both ' ' from ' abc d ') from dual;
È¥µô×Ö·û´® ' abc d ' µÄÇ°Ãæ/ºóÃæ/ǰºóµÄ¿Õ¸ñ
ÀàËÆº¯Êý£ºltrim, ......