首页 > 解决方案 > 如何使用 jdbc java 创建临时表

问题描述

我需要创建一个临时表来存储一些我将在以后的查询中处理的 id。我收到错误

com.microsoft.sqlserver.jdbc.SQLServerException: The statement did not return a result set.

当我执行查询以在我的 sql 中创建 #temp 表时。我不需要此执行的任何结果集,只需要创建一个包含记录的临时表。请指导。

我的主要查询代码:


    String queryTempTable = "SELECT TOP (2) A.Id INTO #temp\n" +
                            "FROM  SALESDM.dbo.FactSales A\n" +
                            "INNER JOIN  SALESDM2.dbo.FactSales B\n" +
                            "ON A.Id = B.Id\n" +
                            "AND (\n" +
                            " A.sysDateModified = B.sysDateModified\n" +
                            " OR A.Id = B.Id\n" +
                            " OR A.ModifiedDatetime = B.ModifiedDatetime\n" +
                            " )";


                            System.out.println(queryTempTable);

                            if (conn == null) {
                                System.out.println("Unable to create Connection");
                            } else {
                                Statement stmtTempTable = conn.createStatement();
                                stmtTempTable.executeQuery(queryTempTable);
                            }


标签: javasql-servertsqljdbctemp-tables

解决方案


executeQuery只有在检索数据并需要 ResultSet 时才应使用。

如果您正在修改数据,那么您应该使用execute

stmtTempTable.execute(queryTempTable);

推荐阅读