我需要从任何使用Java的数据库中获取触发器的详细信息,但是这段代码(来自前面的答案)没有';行不通
我正在寻找一种方法来获取MS_SQL、MySQL、PostgreSQL和Oracle中的触发器信息(如名称和其他详细信息) 我在中找到了以下代码,但当我尝试将其用于MySQL数据库时,它不起作用我需要从任何使用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;
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中使用“表”
“触发器”
,或者在另一个驱动程序中使用特定于驱动程序的扩展
所以一般来说,答案是:你不能