我从Microsoft SQL Server Studio执行了以下查询,它可以正常工作并显示结果:
SELECT *
INTO #temp_table
FROM md_criteria_join
WHERE user_name = 'tecgaw'
UPDATE #temp_table
SET user_name = 'tec'
WHERE user_name != 'tec'
SELECT *
FROM md_criteria_join
WHERE user_name = 'tec'
AND view_name NOT IN (SELECT view_name
FROM md_criteria_join
WHERE user_name = 'tecgaw')
UNION
SELECT *
FROM #temp_table
ORDER BY view_name,
user_name,
crit_usage_seq,
crit_join_seq
然而,如果我在Java中执行相同的查询,会抛出一个异常,指出:
该语句没有返回结果集。
这是Java代码:
statement = conn.getConnection().createStatement();
resultSet = stmt.executeQuery(sql.toString());
这是因为我无法在一个语句中执行多个 SQL 查询(即创建#temp_table
、更新它,然后在我的选择语句中使用它)吗?
md_criteria_join
表中哪些列组成了主键,你可以将这个操作重写为单个查询。如果需要的话,我可以帮助你完成这个操作。 - Dawood ibn Kareem