我需要从任何使用Java的数据库中获取触发器的详细信息,但是这段代码(来自前面的答案)没有';行不通

我需要从任何使用Java的数据库中获取触发器的详细信息,但是这段代码(来自前面的答案)没有';行不通,java,jdbc,Java,Jdbc,我正在寻找一种方法来获取MS_SQL、MySQL、PostgreSQL和Oracle中的触发器信息(如名称和其他详细信息) 我在中找到了以下代码,但当我尝试将其用于MySQL数据库时,它不起作用 package jdbc.core; import java.sql.*; public class ListProcedures { public static void main(String[] args) { Connection con = null;

我正在寻找一种方法来获取MS_SQL、MySQL、PostgreSQL和Oracle中的触发器信息(如名称和其他详细信息)

我在中找到了以下代码,但当我尝试将其用于MySQL数据库时,它不起作用

package jdbc.core;
import java.sql.*;
public class ListProcedures {
    public static void main(String[] args) {
        Connection con = null;
        try {
            Class.forName("com.mysql.jdbc.Driver");
            con = DriverManager.getConnection("jdbc:mysql://localhost:3306/db1", "root", "xxx");
            DatabaseMetaData meta = con.getMetaData();
            ResultSet res = meta.getTables(null, "root", "public", new String[] { "TRIGGER" });
            System.out.println("List Of the trigger :-");
            while (res.next()) {
                // res.getString("TABLE_NAME");
                System.out.println("!!" + res.getString(1));
                System.out.println("::" + res.getString(2));
                System.out.println("::" + res.getString(3));
            }
            res.close();enter code here

            con.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

有人能提出其他方法来检索我需要的信息吗?

JDBC中没有定义如何获取有关触发器的信息。这意味着您只能使用特定于驱动程序的怪癖,例如在Oracle中使用“表”
“触发器”
,或者在另一个驱动程序中使用特定于驱动程序的扩展

所以一般来说,答案是:你不能