问题描述
- 关于java判断oracle中的表是否存在,不存在则创建一个表的问题
- 代码如下
try{
Class.forName(""oracle.jdbc.driver.OracleDriver"");String url = ""jdbc:oracle:thin:@""+localhost+"":""+port+"":""+dbname;
conn = DriverManager.getConnection(url UserName Password);
System.out.print(""数据库""+dbname+""已连接"");
Statement stmt = conn.createStatement();
String sql=""select id from TB_TIMESTAMP"";
ResultSet rs = stmt.executeQuery(sql);
if(!rs.next()){
StringBuilder sql2 = new StringBuilder();
sql2.append(""CREATE TABLE 'SYSTEM'.'TB_TIMESTAMP' "");
sql2.append(""( 'ID' NUMBER(110) NOT NULL ENABLE);
sql2.append(""'ST_ENTRY_TIME' DATE DEFAULT to_date('2011-1-1111:11:11''yyyy-mm-ddhh24:mi:ss') NOT NULL ENABLE);
sql2.append(""'ST_CONTENT' VARCHAR2(4000 BYTE) DEFAULT ' ' NOT NULL ENABLE);
sql2.append(""'ST_CLIENT_ID' VARCHAR2(40 BYTE) DEFAULT ' ' NOT NULL ENABLE);
sql2.append(""'ST_STATUS' NUMBER(10) DEFAULT '1' NOT NULL ENABLE);
sql2.append(""'ST_FAIL_INFO' VARCHAR2(255 BYTE) DEFAULT NULL);
sql2.append(""'ST_NOT_AFTER' DATE DEFAULT to_date('2011-1-11 11:11:11''yyyy-mm-dd hh24:mi:ss'));
sql2.append(""'ST_SIGNER_CN' VARCHAR2(128 BYTE) DEFAULT NULL);
sql2.append(""'ST_SIGNER_SERIAL_NUM' VARCHAR2(128 BYTE) DEFAULT NULL);
sql2.append(""'ST_ISSUER_CN' VARCHAR2(128 BYTE) DEFAULT NULL);
sql2.append(""'ST_ISSUER_SERIAL_NUM' VARCHAR2(128 BYTE) DEFAULT NULL);
sql2.append("") PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255"");
sql2.append(""NOCOMPRESS LOGGING"");
sql2.append(""INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645"");
sql2.append(""STORAGE("");
sql2.append(""PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1"");
sql2.append(""BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)"");
sql2.append(""TABLESPACE 'SYSTEM'"");
try{
int i =stmt.executeUpdate(sql2.toString());
if(i!=0){System.out.print(""数据表创建成功"");}
else{System.out.print(""数据表创建失败"");}}
catch(Exception e){e.getMessage();}
}
catch(Exception e){e.printStackTrace();}
并没有什么错误,但是执行String sql=""select id from TB_TIMESTAMP"";
ResultSet rs = stmt.executeQuery(sql);一旦没有表就会直接跳出try语句进入catch中,怎么样安排语句能让这个程序达到我想要的目的呢
解决方案
java 判断数据库表是否存在,不存在则创建。
判断Access中某个表是否已存在,不存在就创建一个
Java判断文件夹是否存在,不存在就创建
解决方案二:
求大神帮忙看一下,怎么安排一下程序的逻辑顺序
解决方案三:
用这个sql语句判断表是否存在
select 1 from user_tables where table_name='表名'