www.gsyw.net > orAClE为什么不提供CREATE TABLE IF NOT EXIST方式创建表

orAClE为什么不提供CREATE TABLE IF NOT EXIST方式创建表

系统设定语法就这样,后面只能先跟文件名,然后再跟条件

你说的是mysql的语法,oracle是不支持if not exists的.我查的11g官方文档的sql参考,你可以看看截图.

歌曲名:If Not For You歌手:Richie Havens专辑:Dreaming As One: The A&M Yearsolivia newton john - If not for you词曲:(不详)③②①If not for youBabe, i couldn\'t even find th

mysql吧?这是一个创建表的sql,create table if not exists `tb_gonggao`如果表tb_gonggao不存在,就创建 `id` int(4) not null auto_increment,创建id字段,4位整数,不允许为空,且为自增字段`title` varchar(200) default null,创建title字段,200位

create table if not exists order3 as select goodid,goodname,sum(goodct) from orderlist join goods on orderlist.goodid = goods.id group by sum(goodct) desc重复插入问题看别人的博客解释吧,网页链接,但是没有直接的解决办法,只能drop后再建.

你这不是基本上都写出来了嘛.if..not exists (条件)theninsert语句end if;

可以先进行查询,select count(*) from table,如果结果为0在执行另一条操作.

不知道你是想怎么判断,但是select table_name from user_tables;就会查询出所有的表名字(不区分大小写);你要是用hibernate注入的话,在配置文件中直接弄成update,那么有表的时候就不会创建表,没有的时候就会创建一个表.要是想在数据库内判断的话,就要用到function和procedure来循环判断做,要不就不知道怎么弄了,看你想怎么弄吧.

可以这样处理:declare v_exit varchar2(1 char); begin select 'X' into v_exit from table; //能到这里说明存在表table,可以进行XX操作 exception when others //出异常说明没有表table,进行YY操作 end;/

一般是先用drop 表,然后再create!当然,直接create 如果表已存在,且有 可用信息不能随表删除的话,这样还能给你个提示,有个思考是否drop原表,清除该表数据的时间.避免drop表引起的数据恢复麻烦.

相关搜索:

网站地图

All rights reserved Powered by www.gsyw.net

copyright ©right 2010-2021。
www.gsyw.net内容来自网络,如有侵犯请联系客服。zhit325@qq.com