最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

利用Ant向Oracle中插入数据

来源:动视网 责编:小采 时间:2020-11-09 11:52:22
文档

利用Ant向Oracle中插入数据

利用Ant向Oracle中插入数据:[1] 去掉脚本中的包含commit、setserverout off、set serverout on、set escape on,和 exec的语句 [2] 去掉/ [1] 去掉脚本中的包含commit、setserverout off、set serverout on、set esc
推荐度:
导读利用Ant向Oracle中插入数据:[1] 去掉脚本中的包含commit、setserverout off、set serverout on、set escape on,和 exec的语句 [2] 去掉/ [1] 去掉脚本中的包含commit、setserverout off、set serverout on、set esc


[1] 去掉脚本中的包含commit、“setserverout off”、“set serverout on”、“set escape on”,和 “exec”的语句 [2] 去掉“/

[1] 去掉脚本中的包含commit、“setserverout off”、“set serverout on”、“set escape on”,和 “exec”的语句

[2] 去掉“/”

[3] 语句分隔符最好使用 “分隔符” + “换行”,如:

ALTER TABLE xxx ADD (temp_advtoolbar CLOB)! UPDATE xxx SET temp_advtoolbar = advtoolbar!

[4] 插入配置数据前需先判断数据是否存在

当我们要在WCMConfig表中插入一条配置数据的时候,需要先判断该配置参数是否存在,注意该代码是以“end;!”结尾,如:

declare v_count number(10);

begin

SELECT count(*) into v_count FROM xxx WHERE CKey = 'KMS_UPLOAD_FILE_MAX_SIZE' ;

if(v_count<=0 or v_count is null) then

insert into xxx(configid,ctype,ckey,cvalue,cdesc) select max(configid)+1,12,'KMS_UPLOAD_FILE_MAX_SIZE','6291456','批量上传时可以上传的最大文件大小,单位为k' from xxx;

update yyyset nextid=0 where tablename='xxx';

end if;

end;!

[5] 表上增加列需要先判断列是否存在

当我们要在xxx表上增加LEAFFLAG列时,,需要先判断xxx表是否已经存在LEAFFLAG列,注意该代码是以“end;!”结尾,具体代码如下:

--增加是否允许创建子场景(即是否为叶子节点)的字段 2011.10.12 by liwei

declare v_count number(10);

begin

SELECT count(*) into v_count FROM cols

WHERE table_name = 'xxx' and column_name='LEAFFLAG' ;

if(v_count<=0 or v_count is null) then

execute immediate('alter table xxx add LeafFlag number default 0 not null');

end if;

end;!

注意:

当我们需要使用begin end语句块的时候,begin语句块中只能使用DML(数据操作语言,如:insert、delete、update和select),如增加配置参数的代码:

declare v_count number(10);

begin

SELECT count(*) into v_count FROM xxx WHERE CKey = 'KMS_UPLOAD_FILE_MAX_SIZE' ;

if(v_count<=0 or v_count is null) then

insert into xxx(configid,ctype,ckey,cvalue,cdesc) select max(configid)+1,12,'KMS_UPLOAD_FILE_MAX_SIZE','6291456','批量上传时可以上传的最大文件大小,单位为k' from wcmconfig;

update yyy set nextid=0 where tablename='xxx';

end if;

end;!

当我们在增加列的时候,可能会使用到alter操作来给一个表添加一列,这时候我们需要使用动态sql(也就是execute immediate)来执行。因为begin end 语句块中只能执行DML语言,如果要执行DDL(alter、create等)语言,需要使用动态sql。如:

declare v_count number(10);

begin

SELECT count(*) into v_count FROM cols

WHERE table_name = 'xxx' and column_name='LEAFFLAG' ;

if(v_count<=0 or v_count is null) then

execute immediate('alter table xxx add LeafFlag number default 0 not null');

end if;

end;!

文档

利用Ant向Oracle中插入数据

利用Ant向Oracle中插入数据:[1] 去掉脚本中的包含commit、setserverout off、set serverout on、set escape on,和 exec的语句 [2] 去掉/ [1] 去掉脚本中的包含commit、setserverout off、set serverout on、set esc
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top