以下のような複数ステートメントのコマンドを実行したところ、「SqliteException: no such table: MasterItemData」というエラーが出ました。
CREATE TABLE MasterItemData (
ID TEXT PRIMARY KEY,
Name TEXT NOT NULL
);
INSERT INTO MasterItemData(ID, Name) VALUES
('0', '薬草'),
('1', '毒消し草'),
('2', '鉄の剣'),
('3', '木の盾'),
('4', '魔力の杖');
CREATE TABLE OwnedItemData(
ItemID TEXT PRIMARY KEY,
Count INTEGER NOT NULL DEFAULT 0,
FOREIGN KEY(ItemID) REFERENCES MasterItemData(ID)
);
INSERT INTO OwnedItemData(ItemID, Count) VALUES
('0', 25),
('1', 8),
('2', 1),
('3', 3),
('4', 2);
CREATE VIEW OwnedItemView AS
SELECT
OwnedItemData.ItemID AS ItemID,
MasterItemData.Name AS ItemName,
OwnedItemData.Count AS Count
FROM OwnedItemData
INNER JOIN MasterItemData
ON OwnedItemData.ItemID = MasterItemData.ID;
ただ、これを各ステートメントごとに分けて1つずつ実行した場合はエラーは出ませんでした。
このことから、複数ステートメントのコマンドの実行に不具合の可能性があると考えたのですが、これは想定された仕様でしょうか?
以下のような複数ステートメントのコマンドを実行したところ、「SqliteException: no such table: MasterItemData」というエラーが出ました。
CREATE TABLE MasterItemData (
ID TEXT PRIMARY KEY,
Name TEXT NOT NULL
);
INSERT INTO MasterItemData(ID, Name) VALUES
('0', '薬草'),
('1', '毒消し草'),
('2', '鉄の剣'),
('3', '木の盾'),
('4', '魔力の杖');
CREATE TABLE OwnedItemData(
ItemID TEXT PRIMARY KEY,
Count INTEGER NOT NULL DEFAULT 0,
FOREIGN KEY(ItemID) REFERENCES MasterItemData(ID)
);
INSERT INTO OwnedItemData(ItemID, Count) VALUES
('0', 25),
('1', 8),
('2', 1),
('3', 3),
('4', 2);
CREATE VIEW OwnedItemView AS
SELECT
OwnedItemData.ItemID AS ItemID,
MasterItemData.Name AS ItemName,
OwnedItemData.Count AS Count
FROM OwnedItemData
INNER JOIN MasterItemData
ON OwnedItemData.ItemID = MasterItemData.ID;
ただ、これを各ステートメントごとに分けて1つずつ実行した場合はエラーは出ませんでした。
このことから、複数ステートメントのコマンドの実行に不具合の可能性があると考えたのですが、これは想定された仕様でしょうか?