1つのSQLクエリを使用してPostgreSQLテーブルにテストデータを作成する方法はありますか?たとえば、私は、このテーブルにデータのいくつかの行を挿入したいと思います:PostgreSQLテーブルのテストデータ
CREATE TABLE RELEASE_PLANNING(
ID INTEGER NOT NULL,
NAME TEXT,
PLANNING_START_DATE DATE,
PLANNING_END_DATE DATE,
DESCRIPTION TEXT,
LAST_UPDATE DATE,
CREATED DATE
)
;
が、私はこのコードをテストした
PreparedStatement ps = null;
boolean committed = false;
try
{
conn.setAutoCommit(false);
for (int i = 0; i < 20; i++)
{
int randomNum = 10 + (int) (Math.random() * 20000);
ps = conn.prepareStatement("INSERT INTO KNOWLEDGEBASE (ID, NAME) VALUES (?, generate_series(1,1000), md5(random()::text))");
ps.setInt(1, randomNum);
// ps.setString(2, "Test_file");
ps.executeUpdate();
}
ps.close();
conn.commit();
committed = true;
}
私はエラーに取得
org.postgresql.util.PSQLException:ERROR: INSERTにはターゲット列より多くの式があります 位置:7
困難なやり方で、いくつかの挿入文を書くことができます。データはテストに適しています。 – jarlh
しかし、1000行のランダムデータを挿入したいと思います。解決策はありますか? –
私の標準的なやり方は、手動で10行を挿入してから、調整値を使ってテーブルからテーブル選択に挿入することです。数回、あなたは1000行以上あります。 – jarlh