【发布时间】:2015-03-01 23:23:09
【问题描述】:
大家好,
我想用jsp、servlet和jdbc等创建一个web应用程序
它只是简单地创建一个名字为student的表,包含各种字段作为数据库中关于student的信息,不同的页面执行不同的查询任务。
问题是我想创建一个war文件来将此应用分发给我的客户。
当我编写一个 sql 查询在我的 jsp 页面中创建一个表时,每当我运行这个项目时,它都会尝试创建一个新表。
这里我希望它只在用户第一次运行时创建一个表。所以当我将战争文件分发给我的客户端时,在第一次运行时它会创建一个学生姓名表并执行所需的查询和未来运行它只执行其他查询但不会再次创建表。
我需要您宝贵的指导和概述来解决此问题。任何类型的帮助都将不胜感激。 “谢谢”
【问题讨论】:
-
我相信您通常会在部署或启动时注册一个类,该类运行查询以创建
CREATE TABLE IF NOT EXISTS形式的表。 -
@Elliott,
IF NOT EXISTS在Oracle中无效。 -
@LalitKumarB 1. 这是评论(而不是答案)和 2. 你确定 OP 实际上在使用 Oracle RDBMS 吗? 3.什么版本? 4. 你怎么知道的?
-
@ElliottFrisch,1. 我知道这是评论,所以我回复了您的评论。 2.问题中的
Oracle标签是确定RDBMS产品的唯一方法。 3.版本在这个问题中并不重要。我相信直到12c,IF NOT EXISTS不在Oracle中。 4. 我知道我看到的和 OP 提到的。 -
您应该研究像 Liquibase 或 Flyway 这样的架构管理工具