我必须在我的 Java 应用程序中嵌入数据库、MySQL 数据库和 H2 数据库。
我想CREATE TABLE
在 H2 数据库上加入一个 H2 表和一个 ResultSet,这是一个SELECT
来自 MySQL 的数据库。
我想在 H2 数据库上执行此查询。
CREATE TABLE TableName AS
SELECT l.*, m.Act FROM temp AS l JOIN
(SELECT p.DES_PR AS Act, c.DES_COM AS com FROM
table_com AS c JOIN table_pr AS p
ON c.COD_PR = p.COD_PR) AS m
ON l.sel = m.com
ORDER BY Cod;
除了temp
在 MySQL 数据库上的所有表。temp
表在 H2 数据库上。
如何TableName
在 H2 数据库上创建?
您需要为LINKED TABLE
要在 H2 中使用的每个 MySQL 表创建一个。
CREATE LINKED TABLE tableName('', 'jdbc:mysql://.......', 'userName', 'password', 'tableNameInMySQL');
查看文档中的完整语法:https : //h2database.com/html/commands.html#create_linked_table
然后,您将能够tableName
在 H2 中的查询 inAS
子句中CREATE TABLE
以及在您需要它们的所有其他地方将用作表。
最后,您可以删除所有这些不再使用的链接表。
为了获得更好的性能,您还可以尝试使用带有 MySQL 表之间连接的查询来创建单个链接表,如文档中所述,查询必须括在括号中。就像是
CREATE LINKED TABLE m('', 'jdbc:mysql://.......', 'userName', 'password',
'(SELECT p.DES_PR AS Act, c.DES_COM AS com FROM
table_com AS c JOIN table_pr AS p
ON c.COD_PR = p.COD_PR)');
并在您的查询中使用它
CREATE TABLE TableName AS
SELECT l.*, m.Act FROM temp AS l JOIN
m
ON l.sel = m.com
ORDER BY Cod;
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句