Моя Java-программа executeUpdate в порядке, но таблица scott.emp в oracle не изменилась?

#oracle

#Oracle

Вопрос:

Когда я запускаю эту программу ниже, она выводит OK на консоль, но таблица scott.emp не изменилась, я чего-то не хватает?

Я протестировал sql в sqlplus и его правильный

 package com.sp;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;

public class TransationTest {

    public static void main(String[] args) {

        Connection conn = null;
        try {

            Class.forName("oracle.jdbc.driver.OracleDriver");

            conn = DriverManager.getConnection("jdbc:oracle:thin:@127.0.0.1:1521:orcl", "system", "system");

            conn.setAutoCommit(false);
            Statement sm = conn.createStatement();


            sm.executeUpdate("update scott.emp set sal=sal-100 where ename='SCOTT'");//I have tested this sql in sqlplus and its correct.

            sm.executeUpdate("update scott.emp set sal=sal 100 where ename='SMITH'");//I have tested this sql in sqlplus and its correct.

            conn.commit();
            System.out.println("OK");
            sm.close();
            conn.close();
        } catch (Exception e) {

            try {
                conn.rollback();
            } catch (SQLException e1) {
                e1.printStackTrace();
            }
            e.printStackTrace();
        }
    }
}
  

таблица scott.emp без изменений:

  EMPNO ENAME      JOB              MGR HIREDATE              SAL       COMM     DEPTNO
 ----- ---------- ---------- --------- ---------- -------------- ---------- ---------- 
  8002 JIMMY                                                7800
  7369 SMITH      CLERK           7902 17-12-80            800                    20
  7499 ALLEN      SALESMAN        7698 20-2-81           1600        300         30
  7521 WARD       SALESMAN        7698 22-2-81           1250        500         30
  7566 JONES      MANAGER         7839 02-4-81           2975                    20
  7654 MARTIN     SALESMAN        7698 28-9-81           1250       1400         30
  7698 BLAKE      MANAGER         7839 01-5-81           2850                    30
  7782 CLARK      MANAGER         7839 09-6-81           2450                    10
  7788 SCOTT      ANALYST         7566 19-4-87           3000                    20
  7839 KING       PRESIDENT            17-11-81           5000                    10
  7844 TURNER     SALESMAN        7698 08-9-81           1500          0         30
  7876 ADAMS      CLERK           7788 23-5-87           1100                    20
  7900 JAMES      CLERK           7698 03-12-81            950                    30
  7902 FORD       ANALYST         7566 03-12-81           3000                    20
  7934 MILLER     CLERK           7782 23-1-82           1300                    10
  

Комментарии:

1. Вы уверены, что подключаетесь к той же базе данных? (Не имеет значения, но подключение от имени system, вероятно, не очень хорошая идея; почему бы не подключиться от имени scott?)

2. @Alex Poole да, я подключал другую базу данных, спасибо за ваш совет