SQLSyntaxErrorException

时间:2016-12-17 06:46:58

标签: java sql oracle

我使用oracle创建了一个表登录。首先,我在java程序中使用了字段,用户名,密码和连接数据库进行注册。我试图执行插入查询之前它运行正常,而不是我更改表登录和删除列ID。然后我再次尝试从java程序运行插入查询,但现在我收到以下错误。我没有得到改变后发生的事情。我认为变化应该反映在各处,但我仍然坚持这个例外。

  

java.sql.SQLSyntaxErrorException:ORA-04098:触发' SURABHI.BI_LOGIN'无效且重新验证失败

JAVA CODE:

public void insertLogin(String user,String pass) {

    String query = "insert into Login(username,password)" + " values(?,?)";
    try {
        ps = con.prepareStatement(query);
        ps.setString(1, user);
        ps.setString(2, pass);
        ps.execute();
        System.out.println("inserted");
    } catch(Exception e) {
        e.printStackTrace();
    }
}

1 个答案:

答案 0 :(得分:2)

您的表似乎有一个before insert触发器并且它无效,可能是因为您删除了列ID并且它被触发器使用。

检查您的触发器并成功编译。