0

DROP VIEW V1 IF EXISTS;
DROP TABLE T1 IF EXISTS;

CREATE TABLE T1 (id INT、name VARCHAR(32)、age int);
CREATE VIEW V1 AS (SELECT * FROM T1 WHERE 年齢 < 21);


上記の SQL ステートメントを 1 つの JDBC ステートメントで、または HSQLDB の SWING Manager で問題なく実行できます。1.9.0-rc6 で動作しなくなりました。これは私が受け取ったエラー メッセージです - 「ユーザーに権限がないか、オブジェクトが見つかりません: T1 / エラー コード: -5501 / 状態: 42501」

1.9.0-XX で何が変更されて動作しなくなったのか誰か知っていますか?

ありがとう

4

1 に答える 1

0

HSQLDB 1.9 では、スクリプトを 1 行ずつ解釈するのではなく、スクリプト全体をコンパイルするように変更されたため、CREATE VIEW v1 は T1 が使用可能ではないというエラーをスローします。

スクリプトは 2 つの実行に分割する必要があります。最初にテーブルを作成し、次にビューを作成します。


DROP TABLE T1 IF EXISTS;
CREATE TABLE T1 (ID INT、名前 varchar(32));
T1 値に挿入します (0, 'エリック');
INTO T1 VALUES(0, 'Tom');

上記の sql は、1.9.0-rc では単一の JDBC ステートメントでは機能しなくなりました。

于 2009-11-20T23:04:17.640 に答える