oracle字段精度修改,oracle number类型增加精度

oracle字段精度修改,oracle number类型增加精度oracle迁移到sqlserver时,报错-如下图,查找原因,发现是因为有些表number类型没有设精度导致的,解决方法如下,修改表结构加上精度,加上之后就可以了。考虑到有些表有多个字段没有设精度,所以采取以下方式实现。–split函数createorreplacetypetype_splitastableofvarchar2(4000);/createorreplace…

大家好,又见面了,我是你们的朋友全栈君。

oracle迁移到sqlserver时,报错-如下图,

43d6fa1b32546de424aef32619f07040.png

查找原因,发现是因为有些表number类型没有设精度导致的,解决方法如下,修改表结构加上精度

,加上之后就可以了。考虑到有些表有多个字段没有设精度,所以采取以下方式实现。

–split函数

create or replace type type_split as table of varchar2(4000);

/

create or replace function test_split(p_list VARCHAR2, p_sep VARCHAR2) return type_split

PIPELINED IS

l_idx  PLS_INTEGER;

v_list VARCHAR2(32767) := p_list;

begin

LOOP

l_idx := instr(v_list, p_sep);

IF l_idx > 0 THEN

PIPE ROW(substr(v_list, 1, l_idx – 1));

v_list := substr(v_list, l_idx + length(p_sep));

ELSE

PIPE ROW(v_list);

EXIT;

END IF;

END LOOP;

RETURN;

end test_split;

/

–修改表加精度的存储过程

create or replace procedure changefield

(tablename in varchar2,

fieldname in varchar2

) as

CURSOR c1

IS

SELECT * FROM table(test_split(fieldname,’,’));

begin

execute immediate ‘create table temp_table as select *  from ‘|| tablename;

execute immediate ‘DELETE FROM ‘|| tablename;

FOR x IN c1

LOOP

execute immediate ‘alter table ‘ || tablename || ‘ modify ‘ || x.column_value || ‘ NUMBER(38, 0)’;

END LOOP;

execute immediate ‘INSERT INTO ‘|| tablename||’ SELECT * FROM temp_table’;

execute immediate ‘DROP TABLE temp_table’;

end;

/

–执行例子需要手工改 参数为表名和字段名 字段名可以一个可以多个,多个字段以逗号分隔

exec changefield(‘A25′,’A2517,SORT’);

exec changefield(‘A36′,’A3617’);

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/163898.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 新库上线 | CnOpenData中国工业企业绿色专利及引用被引用数据简介[通俗易懂]

    新库上线 | CnOpenData中国工业企业绿色专利及引用被引用数据简介[通俗易懂]中国工业企业绿色专利及引用被引用数据简介  改革开放以来,中国工业化迅速发展,但高增长的背后却隐藏着资源浪费、环境恶化等矛盾,在这些环境问题愈发突出的背景下,我国绿色发展新理念开始深入工业发展,近年来,此项工作已取得较好成绩:在工业和信息化部于2020年公布的我国2016-2019年工业绿色发展成绩单中,规模以上企业单位工业增加值能耗累计下降超过15%,相当于节能4.8亿吨标准煤,节约能源成本约4000亿元,同期,单位工业增加值二氧化碳排放量累计下降18%。经济效益和环境效益的双赢,是现代化工业发展的目标

    2022年9月28日
    2
  • 实用的开源百度云分享爬虫项目yunshare – 安装篇[通俗易懂]

    实用的开源百度云分享爬虫项目yunshare – 安装篇

    2022年2月22日
    55
  • jdbctype有哪些类型oracle_java type类型

    jdbctype有哪些类型oracle_java type类型java.sql.Types值JavaTypeIBMDB2OracleSybaseSQLInformixIBMContentManagerBIGINTjava.lang.longBIGINTNUMBER(38,0)BIGINTBIGINTINT8DK_CM_BIGINTBINARYbyte[]CHAR…

    2022年10月20日
    3
  • Extjs grid设置单元格字体颜色,单元格背景颜色,行背景颜色

    Extjs grid设置单元格字体颜色,单元格背景颜色,行背景颜色Extjsgrid设置单元格字体颜色,单元格背景颜色,行背景颜色 一.在ColumnModel中用renderer渲染颜色:1.不定义样式:(1).字体颜色:{ header:"审核状态", dataIndex:"status", width:100, renderer:function(v){ if(v==1){ return"<s…

    2022年7月27日
    6
  • adfs是什么_培训与开发的概念

    adfs是什么_培训与开发的概念(如您转载本文,必须标明本文作者及出处。如有任何疑问请与我联系me@nap7.com)ADFS相关开发技术的中文资料相对匮乏,之前在弄这个东西的时候搞的比较辛苦,因此总结此文档,以解后人之忧。本文会首先介绍与联合身份验证有关的概念及相关的系统设计意图,随后会对ADFS联合身份验证的配置过程、结构及处理流程进行阐述。然后会基于已有的系统提出一个支持多ADFS联合身份验证的改进实例…

    2025年7月14日
    4
  • github加速插件

    github加速插件在chrome或edge的插件库里搜索github加速,安装后访问github,和在github上下东西都很快

    2025年6月15日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号