<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://sqle.ru/index.php?action=history&amp;feed=atom&amp;title=Oracle_PL%2FSQL_Tutorial%2FTrigger%2FTrigger_and_Transaction</id>
		<title>Oracle PL/SQL Tutorial/Trigger/Trigger and Transaction - История изменений</title>
		<link rel="self" type="application/atom+xml" href="http://sqle.ru/index.php?action=history&amp;feed=atom&amp;title=Oracle_PL%2FSQL_Tutorial%2FTrigger%2FTrigger_and_Transaction"/>
		<link rel="alternate" type="text/html" href="http://sqle.ru/index.php?title=Oracle_PL/SQL_Tutorial/Trigger/Trigger_and_Transaction&amp;action=history"/>
		<updated>2026-04-04T19:19:55Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://sqle.ru/index.php?title=Oracle_PL/SQL_Tutorial/Trigger/Trigger_and_Transaction&amp;diff=3575&amp;oldid=prev</id>
		<title> в 13:45, 26 мая 2010</title>
		<link rel="alternate" type="text/html" href="http://sqle.ru/index.php?title=Oracle_PL/SQL_Tutorial/Trigger/Trigger_and_Transaction&amp;diff=3575&amp;oldid=prev"/>
				<updated>2010-05-26T13:45:46Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr style=&quot;vertical-align: top;&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Предыдущая&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Версия 13:45, 26 мая 2010&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; style=&quot;text-align: center;&quot; lang=&quot;ru&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(нет различий)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
			</entry>

	<entry>
		<id>http://sqle.ru/index.php?title=Oracle_PL/SQL_Tutorial/Trigger/Trigger_and_Transaction&amp;diff=3576&amp;oldid=prev</id>
		<title>Admin: 1 версия</title>
		<link rel="alternate" type="text/html" href="http://sqle.ru/index.php?title=Oracle_PL/SQL_Tutorial/Trigger/Trigger_and_Transaction&amp;diff=3576&amp;oldid=prev"/>
				<updated>2010-05-26T10:07:21Z</updated>
		
		<summary type="html">&lt;p&gt;1 версия&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== Autonomous triggers==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; CREATE TABLE order_tab(&lt;br /&gt;
  2     order_id     NUMBER(10) PRIMARY KEY,&lt;br /&gt;
  3     order_date   DATE NOT NULL,&lt;br /&gt;
  4     total_qty    NUMBER,&lt;br /&gt;
  5     total_price  NUMBER(15,2),&lt;br /&gt;
  6     supp_id      NUMBER(6)&lt;br /&gt;
  7  );&lt;br /&gt;
Table created.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; CREATE TABLE order_tran_coming_in(&lt;br /&gt;
  2     order_id              NUMBER(10)  NOT NULL,&lt;br /&gt;
  3     order_date            DATE        NOT NULL,&lt;br /&gt;
  4     tran_coming_in_date   DATE        NOT NULL,&lt;br /&gt;
  5     success_flag          VARCHAR2(1) DEFAULT &amp;quot;N&amp;quot; NOT NULL);&lt;br /&gt;
Table created.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; create or replace trigger bi_order_tab&lt;br /&gt;
  2  before insert on order_tab for each row&lt;br /&gt;
  3  declare&lt;br /&gt;
  4    pragma autonomous_transaction;&lt;br /&gt;
  5  begin&lt;br /&gt;
  6    insert into order_tran_coming_in values (:NEW.order_id,&lt;br /&gt;
  7                                             :NEW.order_date,&lt;br /&gt;
  8                                             SYSDATE,&lt;br /&gt;
  9                                             &amp;quot;N&amp;quot;);&lt;br /&gt;
 10    commit;&lt;br /&gt;
 11  end;&lt;br /&gt;
 12  /&lt;br /&gt;
Trigger created.&lt;br /&gt;
SQL&amp;gt; create or replace trigger ai_order_tab&lt;br /&gt;
  2  after insert on order_tab for each row&lt;br /&gt;
  3  declare&lt;br /&gt;
  4    pragma autonomous_transaction;&lt;br /&gt;
  5  begin&lt;br /&gt;
  6    update order_tran_coming_in&lt;br /&gt;
  7    set    success_flag = &amp;quot;Y&amp;quot;&lt;br /&gt;
  8    where  order_id = :NEW.order_id;&lt;br /&gt;
  9    commit;&lt;br /&gt;
 10  end;&lt;br /&gt;
 11  /&lt;br /&gt;
Trigger created.&lt;br /&gt;
SQL&amp;gt; BEGIN&lt;br /&gt;
  2    INSERT INTO order_tab VALUES(102,SYSDATE,NULL,NULL,1001);&lt;br /&gt;
  3    INSERT INTO order_tab VALUES(103,SYSDATE,NULL,NULL,1001);&lt;br /&gt;
  4    INSERT INTO order_tab VALUES(103,SYSDATE,NULL,NULL,1001);&lt;br /&gt;
  5  EXCEPTION WHEN DUP_VAL_ON_INDEX THEN&lt;br /&gt;
  6    ROLLBACK;&lt;br /&gt;
  7  END;&lt;br /&gt;
  8  /&lt;br /&gt;
PL/SQL procedure successfully completed.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; drop table order_tran_coming_in;&lt;br /&gt;
Table dropped.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; drop table order_tab;&lt;br /&gt;
Table dropped.&lt;br /&gt;
SQL&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
== Call PRAGMA AUTONOMOUS_TRANSACTION procedure==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; CREATE TABLE EMP (EMPNO NUMBER(4) NOT NULL,&lt;br /&gt;
  2                    ENAME VARCHAR2(10),&lt;br /&gt;
  3                    JOB VARCHAR2(9),&lt;br /&gt;
  4                    MGR NUMBER(4),&lt;br /&gt;
  5                    HIREDATE DATE,&lt;br /&gt;
  6                    SAL NUMBER(7, 2),&lt;br /&gt;
  7                    COMM NUMBER(7, 2),&lt;br /&gt;
  8                    DEPTNO NUMBER(2));&lt;br /&gt;
Table created.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; INSERT INTO EMP VALUES (7369, &amp;quot;SMITH&amp;quot;, &amp;quot;CLERK&amp;quot;,    7902, TO_DATE(&amp;quot;17-DEC-1980&amp;quot;, &amp;quot;DD-MON-YYYY&amp;quot;), 800, NULL, 20);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; INSERT INTO EMP VALUES (7499, &amp;quot;ALLEN&amp;quot;, &amp;quot;SALESMAN&amp;quot;, 7698, TO_DATE(&amp;quot;20-FEB-1981&amp;quot;, &amp;quot;DD-MON-YYYY&amp;quot;), 1600, 300, 30);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; INSERT INTO EMP VALUES (7521, &amp;quot;WARD&amp;quot;,  &amp;quot;SALESMAN&amp;quot;, 7698, TO_DATE(&amp;quot;22-FEB-1981&amp;quot;, &amp;quot;DD-MON-YYYY&amp;quot;), 1250, 500, 30);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; INSERT INTO EMP VALUES (7566, &amp;quot;JONES&amp;quot;, &amp;quot;MANAGER&amp;quot;,  7839, TO_DATE(&amp;quot;2-APR-1981&amp;quot;,  &amp;quot;DD-MON-YYYY&amp;quot;), 2975, NULL, 20);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; INSERT INTO EMP VALUES (7654, &amp;quot;MARTIN&amp;quot;, &amp;quot;SALESMAN&amp;quot;, 7698,TO_DATE(&amp;quot;28-SEP-1981&amp;quot;, &amp;quot;DD-MON-YYYY&amp;quot;), 1250, 1400, 30);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; INSERT INTO EMP VALUES (7698, &amp;quot;BLAKE&amp;quot;, &amp;quot;MANAGER&amp;quot;, 7839,TO_DATE(&amp;quot;1-MAY-1981&amp;quot;, &amp;quot;DD-MON-YYYY&amp;quot;), 2850, NULL, 30);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; INSERT INTO EMP VALUES (7782, &amp;quot;CLARK&amp;quot;, &amp;quot;MANAGER&amp;quot;, 7839,TO_DATE(&amp;quot;9-JUN-1981&amp;quot;, &amp;quot;DD-MON-YYYY&amp;quot;), 2450, NULL, 10);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; INSERT INTO EMP VALUES (7788, &amp;quot;SCOTT&amp;quot;, &amp;quot;ANALYST&amp;quot;, 7566,TO_DATE(&amp;quot;09-DEC-1982&amp;quot;, &amp;quot;DD-MON-YYYY&amp;quot;), 3000, NULL, 20);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; INSERT INTO EMP VALUES (7839, &amp;quot;KING&amp;quot;, &amp;quot;PRESIDENT&amp;quot;, NULL,TO_DATE(&amp;quot;17-NOV-1981&amp;quot;, &amp;quot;DD-MON-YYYY&amp;quot;), 5000, NULL, 10);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; INSERT INTO EMP VALUES (7844, &amp;quot;TURNER&amp;quot;, &amp;quot;SALESMAN&amp;quot;, 7698,TO_DATE(&amp;quot;8-SEP-1981&amp;quot;, &amp;quot;DD-MON-YYYY&amp;quot;), 1500, 0, 30);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; INSERT INTO EMP VALUES (7876, &amp;quot;ADAMS&amp;quot;, &amp;quot;CLERK&amp;quot;, 7788,TO_DATE(&amp;quot;12-JAN-1983&amp;quot;, &amp;quot;DD-MON-YYYY&amp;quot;), 1100, NULL, 20);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; INSERT INTO EMP VALUES (7900, &amp;quot;JAMES&amp;quot;, &amp;quot;CLERK&amp;quot;, 7698,TO_DATE(&amp;quot;3-DEC-1981&amp;quot;, &amp;quot;DD-MON-YYYY&amp;quot;), 950, NULL, 30);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; INSERT INTO EMP VALUES (7902, &amp;quot;FORD&amp;quot;, &amp;quot;ANALYST&amp;quot;, 7566,TO_DATE(&amp;quot;3-DEC-1981&amp;quot;, &amp;quot;DD-MON-YYYY&amp;quot;), 3000, NULL, 20);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; INSERT INTO EMP VALUES (7934, &amp;quot;MILLER&amp;quot;, &amp;quot;CLERK&amp;quot;, 7782,TO_DATE(&amp;quot;23-JAN-1982&amp;quot;, &amp;quot;DD-MON-YYYY&amp;quot;), 1300, NULL, 10);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; CREATE OR REPLACE PROCEDURE update_salary (dept_in IN NUMBER)&lt;br /&gt;
  2  IS&lt;br /&gt;
  3     PRAGMA AUTONOMOUS_TRANSACTION;&lt;br /&gt;
  4&lt;br /&gt;
  5     CURSOR myemps IS&lt;br /&gt;
  6        SELECT empno FROM emp&lt;br /&gt;
  7         WHERE deptno = dept_in&lt;br /&gt;
  8           FOR UPDATE NOWAIT;&lt;br /&gt;
  9&lt;br /&gt;
 10  BEGIN&lt;br /&gt;
 11     FOR rec IN myemps&lt;br /&gt;
 12     LOOP&lt;br /&gt;
 13        UPDATE emp SET sal = sal * 2 WHERE empno = rec.empno;&lt;br /&gt;
 14     END LOOP;&lt;br /&gt;
 15     COMMIT;&lt;br /&gt;
 16  END;&lt;br /&gt;
 17  /&lt;br /&gt;
Procedure created.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; BEGIN&lt;br /&gt;
  2     UPDATE emp SET sal = sal * 2;&lt;br /&gt;
  3     update_salary (10);&lt;br /&gt;
  4  END;&lt;br /&gt;
  5  /&lt;br /&gt;
BEGIN&lt;br /&gt;
*&lt;br /&gt;
ERROR at line 1:&lt;br /&gt;
ORA-00054: resource busy and acquire with NOWAIT specified&lt;br /&gt;
ORA-06512: at &amp;quot;sqle.UPDATE_SALARY&amp;quot;, line 6&lt;br /&gt;
ORA-06512: at &amp;quot;sqle.UPDATE_SALARY&amp;quot;, line 11&lt;br /&gt;
ORA-06512: at line 3&lt;br /&gt;
&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; drop table emp;&lt;br /&gt;
Table dropped.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
== Commit in trigger==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; CREATE TABLE employee_compensation (&lt;br /&gt;
  2     company VARCHAR2(100),&lt;br /&gt;
  3     NAME VARCHAR2(100),&lt;br /&gt;
  4     compensation NUMBER);&lt;br /&gt;
Table created.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; CREATE TABLE employee_history (&lt;br /&gt;
  2     NAME VARCHAR2(100),&lt;br /&gt;
  3     description VARCHAR2(255),&lt;br /&gt;
  4     occurred_on DATE);&lt;br /&gt;
Table created.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; CREATE OR REPLACE TRIGGER bef_ins_ceo_comp&lt;br /&gt;
  2     BEFORE INSERT&lt;br /&gt;
  3     ON employee_compensation&lt;br /&gt;
  4     FOR EACH ROW&lt;br /&gt;
  5  DECLARE&lt;br /&gt;
  6     PRAGMA AUTONOMOUS_TRANSACTION;&lt;br /&gt;
  7  BEGIN&lt;br /&gt;
  8     INSERT INTO employee_history&lt;br /&gt;
  9          VALUES (:NEW.NAME, &amp;quot;BEFORE INSERT&amp;quot;, SYSDATE);&lt;br /&gt;
 10&lt;br /&gt;
 11     COMMIT;&lt;br /&gt;
 12  END;&lt;br /&gt;
 13  /&lt;br /&gt;
Trigger created.&lt;br /&gt;
SQL&amp;gt; CREATE OR REPLACE TRIGGER aft_ins_ceo_comp&lt;br /&gt;
  2     AFTER INSERT&lt;br /&gt;
  3     ON employee_compensation&lt;br /&gt;
  4     FOR EACH ROW&lt;br /&gt;
  5  DECLARE&lt;br /&gt;
  6     PRAGMA AUTONOMOUS_TRANSACTION;&lt;br /&gt;
  7  BEGIN&lt;br /&gt;
  8     IF :NEW.rupensation &amp;gt; 1000000000&lt;br /&gt;
  9     THEN&lt;br /&gt;
 10        RAISE VALUE_ERROR;&lt;br /&gt;
 11     ELSE&lt;br /&gt;
 12        INSERT INTO employee_history VALUES (:NEW.NAME, &amp;quot;AFTER INSERT&amp;quot;, SYSDATE);&lt;br /&gt;
 13        COMMIT;&lt;br /&gt;
 14     END IF;&lt;br /&gt;
 15  EXCEPTION&lt;br /&gt;
 16     WHEN OTHERS&lt;br /&gt;
 17     THEN&lt;br /&gt;
 18        ROLLBACK;&lt;br /&gt;
 19        RAISE;&lt;br /&gt;
 20  END;&lt;br /&gt;
 21  /&lt;br /&gt;
Trigger created.&lt;br /&gt;
SQL&amp;gt; COLUMN name FORMAT a20&lt;br /&gt;
SQL&amp;gt; COLUMN description FORMAT a30&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; SELECT NAME, description&lt;br /&gt;
  2       , TO_CHAR (occurred_on, &amp;quot;MM/DD/YYYY HH:MI:SS&amp;quot;) occurred_on&lt;br /&gt;
  3    FROM employee_history;&lt;br /&gt;
no rows selected&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; BEGIN&lt;br /&gt;
  2     INSERT INTO employee_compensation VALUES (&amp;quot;B&amp;quot;, &amp;quot;J&amp;quot;, 9100000);&lt;br /&gt;
  3&lt;br /&gt;
  4     INSERT INTO employee_compensation VALUES (&amp;quot;B&amp;quot;, &amp;quot;A&amp;quot;, 10700000);&lt;br /&gt;
  5&lt;br /&gt;
  6     INSERT INTO employee_compensation VALUES (&amp;quot;B&amp;quot;, &amp;quot;Sally Bigdeal&amp;quot;, 1000000001);&lt;br /&gt;
  7&lt;br /&gt;
  8  END;&lt;br /&gt;
  9  /&lt;br /&gt;
BEGIN&lt;br /&gt;
*&lt;br /&gt;
ERROR at line 1:&lt;br /&gt;
ORA-06502: PL/SQL: numeric or value error&lt;br /&gt;
ORA-06512: at &amp;quot;sqle.AFT_INS_CEO_COMP&amp;quot;, line 15&lt;br /&gt;
ORA-04088: error during execution of trigger &amp;quot;sqle.AFT_INS_CEO_COMP&amp;quot;&lt;br /&gt;
ORA-06512: at line 6&lt;br /&gt;
&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; SELECT   NAME, description&lt;br /&gt;
  2         , TO_CHAR (occurred_on, &amp;quot;MM/DD/YYYY HH:MI:SS&amp;quot;) occurred_on&lt;br /&gt;
  3      FROM employee_history&lt;br /&gt;
  4  ORDER BY occurred_on;&lt;br /&gt;
NAME                 DESCRIPTION                    OCCURRED_ON&lt;br /&gt;
-------------------- ------------------------------ -------------------&lt;br /&gt;
J                    BEFORE INSERT                  07/24/2008 08:03:16&lt;br /&gt;
J                    AFTER INSERT                   07/24/2008 08:03:16&lt;br /&gt;
Sally Bigdeal        BEFORE INSERT                  07/24/2008 08:03:16&lt;br /&gt;
A                    AFTER INSERT                   07/24/2008 08:03:16&lt;br /&gt;
A                    BEFORE INSERT                  07/24/2008 08:03:16&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; DROP TABLE employee_compensation;&lt;br /&gt;
Table dropped.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; DROP TABLE employee_history;&lt;br /&gt;
Table dropped.&lt;br /&gt;
SQL&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
== Mark trigger with PRAGMA AUTONOMOUS_TRANSACTION==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; CREATE TABLE employee_compensation (&lt;br /&gt;
  2     company VARCHAR2(100),&lt;br /&gt;
  3     name VARCHAR2(100),&lt;br /&gt;
  4     compensation NUMBER,&lt;br /&gt;
  5     layoffs NUMBER);&lt;br /&gt;
Table created.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; CREATE TABLE employee_history (&lt;br /&gt;
  2     name VARCHAR2(100),&lt;br /&gt;
  3     description VARCHAR2(255),&lt;br /&gt;
  4     occurred_on DATE);&lt;br /&gt;
Table created.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; CREATE OR REPLACE PROCEDURE employee_audit (&lt;br /&gt;
  2     name IN VARCHAR2,&lt;br /&gt;
  3     description IN VARCHAR2,&lt;br /&gt;
  4     occurred_on IN DATE&lt;br /&gt;
  5     )&lt;br /&gt;
  6  IS&lt;br /&gt;
  7     PRAGMA AUTONOMOUS_TRANSACTION;&lt;br /&gt;
  8  BEGIN&lt;br /&gt;
  9     INSERT INTO employee_history VALUES (&lt;br /&gt;
 10        employee_audit.name,&lt;br /&gt;
 11        employee_audit.description,&lt;br /&gt;
 12        employee_audit.occurred_on&lt;br /&gt;
 13        );&lt;br /&gt;
 14&lt;br /&gt;
 15     IF employee_audit.description LIKE &amp;quot;AFTER%&amp;quot;&lt;br /&gt;
 16     THEN&lt;br /&gt;
 17        RAISE VALUE_ERROR;&lt;br /&gt;
 18     END IF;&lt;br /&gt;
 19&lt;br /&gt;
 20     COMMIT;&lt;br /&gt;
 21  END;&lt;br /&gt;
 22  /&lt;br /&gt;
Procedure created.&lt;br /&gt;
SQL&amp;gt; CREATE OR REPLACE TRIGGER bef_ins_ceo_comp&lt;br /&gt;
  2  BEFORE INSERT ON employee_compensation FOR EACH ROW&lt;br /&gt;
  3  DECLARE&lt;br /&gt;
  4     ok BOOLEAN := TRUE;&lt;br /&gt;
  5  BEGIN&lt;br /&gt;
  6     employee_audit (&lt;br /&gt;
  7        :new.name, &amp;quot;BEFORE INSERT&amp;quot;, SYSDATE);&lt;br /&gt;
  8  END;&lt;br /&gt;
  9  /&lt;br /&gt;
Trigger created.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; CREATE OR REPLACE TRIGGER aft_ins_ceo_comp&lt;br /&gt;
  2  AFTER INSERT ON employee_compensation FOR EACH ROW&lt;br /&gt;
  3  DECLARE&lt;br /&gt;
  4     ok BOOLEAN := FALSE;&lt;br /&gt;
  5  BEGIN&lt;br /&gt;
  6     employee_audit (&lt;br /&gt;
  7        :new.name, &amp;quot;AFTER INSERT&amp;quot;, SYSDATE);&lt;br /&gt;
  8  END;&lt;br /&gt;
  9  /&lt;br /&gt;
Trigger created.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; COLUMN name FORMAT a20&lt;br /&gt;
SQL&amp;gt; COLUMN description FORMAT a30&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; SELECT name,&lt;br /&gt;
  2         description,&lt;br /&gt;
  3         TO_CHAR (occurred_on, &amp;quot;MM/DD/YYYY HH:MI:SS&amp;quot;) occurred_on&lt;br /&gt;
  4    FROM employee_history;&lt;br /&gt;
no rows selected&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; BEGIN&lt;br /&gt;
  2     INSERT INTO employee_compensation VALUES (&amp;quot;M&amp;quot;, &amp;quot;J&amp;quot;, 9100000, 2700);&lt;br /&gt;
  3&lt;br /&gt;
  4     INSERT INTO employee_compensation VALUES (&amp;quot;A&amp;quot;, &amp;quot;H&amp;quot;, 33200000, 3300);&lt;br /&gt;
  5&lt;br /&gt;
  6     INSERT INTO employee_compensation VALUES (&amp;quot;E&amp;quot;, &amp;quot;G&amp;quot;, 10700000, 20100);&lt;br /&gt;
  7&lt;br /&gt;
  8     ROLLBACK; -- I wish!&lt;br /&gt;
  9  END;&lt;br /&gt;
 10  /&lt;br /&gt;
BEGIN&lt;br /&gt;
*&lt;br /&gt;
ERROR at line 1:&lt;br /&gt;
ORA-06502: PL/SQL: numeric or value error&lt;br /&gt;
ORA-06512: at &amp;quot;sqle.EMPLOYEE_AUDIT&amp;quot;, line 17&lt;br /&gt;
ORA-06512: at &amp;quot;sqle.AFT_INS_CEO_COMP&amp;quot;, line 4&lt;br /&gt;
ORA-04088: error during execution of trigger &amp;quot;sqle.AFT_INS_CEO_COMP&amp;quot;&lt;br /&gt;
ORA-06512: at line 2&lt;br /&gt;
&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; SELECT name,&lt;br /&gt;
  2         description,&lt;br /&gt;
  3         TO_CHAR (occurred_on, &amp;quot;MM/DD/YYYY HH:MI:SS&amp;quot;) occurred_on&lt;br /&gt;
  4    FROM employee_history;&lt;br /&gt;
NAME                 DESCRIPTION                    OCCURRED_ON&lt;br /&gt;
-------------------- ------------------------------ -------------------&lt;br /&gt;
J                    BEFORE INSERT                  07/24/2008 08:03:13&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; DROP TABLE employee_history;&lt;br /&gt;
Table dropped.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; DROP TABLE employee_compensation;&lt;br /&gt;
Table dropped.&lt;br /&gt;
SQL&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
== SET TRANSACTION ISOLATION LEVEL SERIALIZABLE==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; CREATE TABLE EMP (EMPNO NUMBER(4) NOT NULL,&lt;br /&gt;
  2                    ENAME VARCHAR2(10),&lt;br /&gt;
  3                    JOB VARCHAR2(9),&lt;br /&gt;
  4                    MGR NUMBER(4),&lt;br /&gt;
  5                    HIREDATE DATE,&lt;br /&gt;
  6                    SAL NUMBER(7, 2),&lt;br /&gt;
  7                    COMM NUMBER(7, 2),&lt;br /&gt;
  8                    DEPTNO NUMBER(2));&lt;br /&gt;
Table created.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; INSERT INTO EMP VALUES (7369, &amp;quot;SMITH&amp;quot;, &amp;quot;CLERK&amp;quot;,    7902, TO_DATE(&amp;quot;17-DEC-1980&amp;quot;, &amp;quot;DD-MON-YYYY&amp;quot;), 800, NULL, 20);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; INSERT INTO EMP VALUES (7499, &amp;quot;ALLEN&amp;quot;, &amp;quot;SALESMAN&amp;quot;, 7698, TO_DATE(&amp;quot;20-FEB-1981&amp;quot;, &amp;quot;DD-MON-YYYY&amp;quot;), 1600, 300, 30);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; INSERT INTO EMP VALUES (7521, &amp;quot;WARD&amp;quot;,  &amp;quot;SALESMAN&amp;quot;, 7698, TO_DATE(&amp;quot;22-FEB-1981&amp;quot;, &amp;quot;DD-MON-YYYY&amp;quot;), 1250, 500, 30);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; INSERT INTO EMP VALUES (7566, &amp;quot;JONES&amp;quot;, &amp;quot;MANAGER&amp;quot;,  7839, TO_DATE(&amp;quot;2-APR-1981&amp;quot;,  &amp;quot;DD-MON-YYYY&amp;quot;), 2975, NULL, 20);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; INSERT INTO EMP VALUES (7654, &amp;quot;MARTIN&amp;quot;, &amp;quot;SALESMAN&amp;quot;, 7698,TO_DATE(&amp;quot;28-SEP-1981&amp;quot;, &amp;quot;DD-MON-YYYY&amp;quot;), 1250, 1400, 30);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; INSERT INTO EMP VALUES (7698, &amp;quot;BLAKE&amp;quot;, &amp;quot;MANAGER&amp;quot;, 7839,TO_DATE(&amp;quot;1-MAY-1981&amp;quot;, &amp;quot;DD-MON-YYYY&amp;quot;), 2850, NULL, 30);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; INSERT INTO EMP VALUES (7782, &amp;quot;CLARK&amp;quot;, &amp;quot;MANAGER&amp;quot;, 7839,TO_DATE(&amp;quot;9-JUN-1981&amp;quot;, &amp;quot;DD-MON-YYYY&amp;quot;), 2450, NULL, 10);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; INSERT INTO EMP VALUES (7788, &amp;quot;SCOTT&amp;quot;, &amp;quot;ANALYST&amp;quot;, 7566,TO_DATE(&amp;quot;09-DEC-1982&amp;quot;, &amp;quot;DD-MON-YYYY&amp;quot;), 3000, NULL, 20);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; INSERT INTO EMP VALUES (7839, &amp;quot;KING&amp;quot;, &amp;quot;PRESIDENT&amp;quot;, NULL,TO_DATE(&amp;quot;17-NOV-1981&amp;quot;, &amp;quot;DD-MON-YYYY&amp;quot;), 5000, NULL, 10);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; INSERT INTO EMP VALUES (7844, &amp;quot;TURNER&amp;quot;, &amp;quot;SALESMAN&amp;quot;, 7698,TO_DATE(&amp;quot;8-SEP-1981&amp;quot;, &amp;quot;DD-MON-YYYY&amp;quot;), 1500, 0, 30);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; INSERT INTO EMP VALUES (7876, &amp;quot;ADAMS&amp;quot;, &amp;quot;CLERK&amp;quot;, 7788,TO_DATE(&amp;quot;12-JAN-1983&amp;quot;, &amp;quot;DD-MON-YYYY&amp;quot;), 1100, NULL, 20);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; INSERT INTO EMP VALUES (7900, &amp;quot;JAMES&amp;quot;, &amp;quot;CLERK&amp;quot;, 7698,TO_DATE(&amp;quot;3-DEC-1981&amp;quot;, &amp;quot;DD-MON-YYYY&amp;quot;), 950, NULL, 30);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; INSERT INTO EMP VALUES (7902, &amp;quot;FORD&amp;quot;, &amp;quot;ANALYST&amp;quot;, 7566,TO_DATE(&amp;quot;3-DEC-1981&amp;quot;, &amp;quot;DD-MON-YYYY&amp;quot;), 3000, NULL, 20);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; INSERT INTO EMP VALUES (7934, &amp;quot;MILLER&amp;quot;, &amp;quot;CLERK&amp;quot;, 7782,TO_DATE(&amp;quot;23-JAN-1982&amp;quot;, &amp;quot;DD-MON-YYYY&amp;quot;), 1300, NULL, 10);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; CREATE OR REPLACE PROCEDURE fire_em_all&lt;br /&gt;
  2  IS&lt;br /&gt;
  3     PRAGMA AUTONOMOUS_TRANSACTION;&lt;br /&gt;
  4  BEGIN&lt;br /&gt;
  5     DELETE FROM emp;&lt;br /&gt;
  6&lt;br /&gt;
  7     COMMIT;&lt;br /&gt;
  8  EXCEPTION&lt;br /&gt;
  9     WHEN OTHERS&lt;br /&gt;
 10     THEN&lt;br /&gt;
 11        ROLLBACK;&lt;br /&gt;
 12  END;&lt;br /&gt;
 13  /&lt;br /&gt;
Procedure created.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; show errors&lt;br /&gt;
No errors.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; DECLARE&lt;br /&gt;
  2     num   INTEGER;&lt;br /&gt;
  3  BEGIN&lt;br /&gt;
  4     SET TRANSACTION ISOLATION LEVEL SERIALIZABLE;&lt;br /&gt;
  5&lt;br /&gt;
  6     SELECT COUNT (*)&lt;br /&gt;
  7       INTO num&lt;br /&gt;
  8       FROM emp;&lt;br /&gt;
  9&lt;br /&gt;
 10     DBMS_OUTPUT.put_line (&amp;quot;Before isolated AT delete &amp;quot; || num);&lt;br /&gt;
 11     fire_em_all;&lt;br /&gt;
 12&lt;br /&gt;
 13     SELECT COUNT (*)&lt;br /&gt;
 14       INTO num&lt;br /&gt;
 15       FROM emp;&lt;br /&gt;
 16&lt;br /&gt;
 17     DBMS_OUTPUT.put_line (&amp;quot;After isolated AT delete &amp;quot; || num);&lt;br /&gt;
 18     COMMIT; -- ROLLBACK;&lt;br /&gt;
 19&lt;br /&gt;
 20     SELECT COUNT (*)&lt;br /&gt;
 21       INTO num&lt;br /&gt;
 22       FROM emp;&lt;br /&gt;
 23&lt;br /&gt;
 24     DBMS_OUTPUT.put_line (&amp;quot;After MT commit &amp;quot; || num);&lt;br /&gt;
 25  END;&lt;br /&gt;
 26  /&lt;br /&gt;
PL/SQL procedure successfully completed.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; drop table emp;&lt;br /&gt;
Table dropped.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
== Transaction with &amp;quot;pragma autonomous_transaction&amp;quot;==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; CREATE TABLE EMP (EMPNO NUMBER(4) NOT NULL,&lt;br /&gt;
  2                    ENAME VARCHAR2(10),&lt;br /&gt;
  3                    JOB VARCHAR2(9),&lt;br /&gt;
  4                    MGR NUMBER(4),&lt;br /&gt;
  5                    HIREDATE DATE,&lt;br /&gt;
  6                    SAL NUMBER(7, 2),&lt;br /&gt;
  7                    COMM NUMBER(7, 2),&lt;br /&gt;
  8                    DEPTNO NUMBER(2));&lt;br /&gt;
Table created.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; INSERT INTO EMP VALUES (7369, &amp;quot;SMITH&amp;quot;, &amp;quot;CLERK&amp;quot;,    7902, TO_DATE(&amp;quot;17-DEC-1980&amp;quot;, &amp;quot;DD-MON-YYYY&amp;quot;), 800, NULL, 20);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; INSERT INTO EMP VALUES (7499, &amp;quot;ALLEN&amp;quot;, &amp;quot;SALESMAN&amp;quot;, 7698, TO_DATE(&amp;quot;20-FEB-1981&amp;quot;, &amp;quot;DD-MON-YYYY&amp;quot;), 1600, 300, 30);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; INSERT INTO EMP VALUES (7521, &amp;quot;WARD&amp;quot;,  &amp;quot;SALESMAN&amp;quot;, 7698, TO_DATE(&amp;quot;22-FEB-1981&amp;quot;, &amp;quot;DD-MON-YYYY&amp;quot;), 1250, 500, 30);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; INSERT INTO EMP VALUES (7566, &amp;quot;JONES&amp;quot;, &amp;quot;MANAGER&amp;quot;,  7839, TO_DATE(&amp;quot;2-APR-1981&amp;quot;,  &amp;quot;DD-MON-YYYY&amp;quot;), 2975, NULL, 20);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; INSERT INTO EMP VALUES (7654, &amp;quot;MARTIN&amp;quot;, &amp;quot;SALESMAN&amp;quot;, 7698,TO_DATE(&amp;quot;28-SEP-1981&amp;quot;, &amp;quot;DD-MON-YYYY&amp;quot;), 1250, 1400, 30);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; INSERT INTO EMP VALUES (7698, &amp;quot;BLAKE&amp;quot;, &amp;quot;MANAGER&amp;quot;, 7839,TO_DATE(&amp;quot;1-MAY-1981&amp;quot;, &amp;quot;DD-MON-YYYY&amp;quot;), 2850, NULL, 30);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; INSERT INTO EMP VALUES (7782, &amp;quot;CLARK&amp;quot;, &amp;quot;MANAGER&amp;quot;, 7839,TO_DATE(&amp;quot;9-JUN-1981&amp;quot;, &amp;quot;DD-MON-YYYY&amp;quot;), 2450, NULL, 10);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; INSERT INTO EMP VALUES (7788, &amp;quot;SCOTT&amp;quot;, &amp;quot;ANALYST&amp;quot;, 7566,TO_DATE(&amp;quot;09-DEC-1982&amp;quot;, &amp;quot;DD-MON-YYYY&amp;quot;), 3000, NULL, 20);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; INSERT INTO EMP VALUES (7839, &amp;quot;KING&amp;quot;, &amp;quot;PRESIDENT&amp;quot;, NULL,TO_DATE(&amp;quot;17-NOV-1981&amp;quot;, &amp;quot;DD-MON-YYYY&amp;quot;), 5000, NULL, 10);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; INSERT INTO EMP VALUES (7844, &amp;quot;TURNER&amp;quot;, &amp;quot;SALESMAN&amp;quot;, 7698,TO_DATE(&amp;quot;8-SEP-1981&amp;quot;, &amp;quot;DD-MON-YYYY&amp;quot;), 1500, 0, 30);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; INSERT INTO EMP VALUES (7876, &amp;quot;ADAMS&amp;quot;, &amp;quot;CLERK&amp;quot;, 7788,TO_DATE(&amp;quot;12-JAN-1983&amp;quot;, &amp;quot;DD-MON-YYYY&amp;quot;), 1100, NULL, 20);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; INSERT INTO EMP VALUES (7900, &amp;quot;JAMES&amp;quot;, &amp;quot;CLERK&amp;quot;, 7698,TO_DATE(&amp;quot;3-DEC-1981&amp;quot;, &amp;quot;DD-MON-YYYY&amp;quot;), 950, NULL, 30);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; INSERT INTO EMP VALUES (7902, &amp;quot;FORD&amp;quot;, &amp;quot;ANALYST&amp;quot;, 7566,TO_DATE(&amp;quot;3-DEC-1981&amp;quot;, &amp;quot;DD-MON-YYYY&amp;quot;), 3000, NULL, 20);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; INSERT INTO EMP VALUES (7934, &amp;quot;MILLER&amp;quot;, &amp;quot;CLERK&amp;quot;, 7782,TO_DATE(&amp;quot;23-JAN-1982&amp;quot;, &amp;quot;DD-MON-YYYY&amp;quot;), 1300, NULL, 10);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; create or replace procedure child&lt;br /&gt;
  2  as&lt;br /&gt;
  3          pragma autonomous_transaction;&lt;br /&gt;
  4          l_ename emp.ename%type;&lt;br /&gt;
  5  begin&lt;br /&gt;
  6&lt;br /&gt;
  7      update emp set ename = &amp;quot;y&amp;quot; where ename = &amp;quot;BLAKE&amp;quot;;&lt;br /&gt;
  8      rollback to Parent_Savepoint;&lt;br /&gt;
  9      commit;&lt;br /&gt;
 10  end;&lt;br /&gt;
 11  /&lt;br /&gt;
Procedure created.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; create or replace procedure parent&lt;br /&gt;
  2  as&lt;br /&gt;
  3          l_ename emp.ename%type;&lt;br /&gt;
  4  begin&lt;br /&gt;
  5      savepoint Parent_Savepoint;&lt;br /&gt;
  6      update emp set ename = &amp;quot;x&amp;quot; where ename = &amp;quot;KING&amp;quot;;&lt;br /&gt;
  7&lt;br /&gt;
  8      child;&lt;br /&gt;
  9      rollback;&lt;br /&gt;
 10  end;&lt;br /&gt;
 11  /&lt;br /&gt;
Procedure created.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; exec parent&lt;br /&gt;
BEGIN parent; END;&lt;br /&gt;
*&lt;br /&gt;
ERROR at line 1:&lt;br /&gt;
ORA-01086: savepoint &amp;quot;PARENT_SAVEPOINT&amp;quot; never established&lt;br /&gt;
ORA-06512: at &amp;quot;sqle.CHILD&amp;quot;, line 8&lt;br /&gt;
ORA-06512: at &amp;quot;sqle.PARENT&amp;quot;, line 8&lt;br /&gt;
ORA-06512: at line 1&lt;br /&gt;
&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; drop table emp;&lt;br /&gt;
Table dropped.&lt;br /&gt;
SQL&amp;gt;&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	</feed>