ORA-01722无效数字 PLSQL 20C

declare

cursor orderTypeId is
    select order_type_id from order_type  where order_type_id in
        (select distinct order_type_id 
         from business_2_flow_template 
         where prod_spec_id in ('650020001','650025381'));                  
cursor areaId is
    select distinct area_id 
    from dynamic_rule 
    where prod_spec_id in ('650020001','650025381') and area_id like'%00%';

begin

for o in orderTypeId loop
    for d in areaId loop
        if (o.order_type_id=21538)or(o.order_type_id=21)or(o.order_type_id=7539)or(o.order_type_id=7538) then
            insert into dynamic_rule
            (area_id,prod_spec_id,order_type_id,tache_ids,seq,rule_string,priority,dynamic_type)
            values (d.area_id,'650020001','','DT0735','1','10045='+o.order_type_id,'1','A');
            insert into dynamic_rule
            (area_id,prod_spec_id,order_type_id,tache_ids,seq,rule_string,priority,dynamic_type)
            values (d.area_id,'650025381','','DT0735','1','10045='+o.order_type_id,'1','A');                                
        else                
            insert into dynamic_rule
            (area_id,prod_spec_id,order_type_id,tache_ids,seq,rule_string,priority,dynamic_type)
            values (d.area_id,'650020001','','DT0733','1','10045='+o.order_type_id,'1','A');
            insert into dynamic_rule
            (area_id,prod_spec_id,order_type_id,tache_ids,seq,rule_string,priority,dynamic_type)
            values (d.area_id,'650025381','','DT0733','1','10045='+o.order_type_id,'1','A');
        end if;
    end loop;
end loop;

end;

报错信息如下:
ORA-01722无效数字

考虑到可能是数据类型问题,特给出关键字段数据类型如下:
Name Type Nullable Default Comments


AREA_ID NUMBER(5)

PROD_SPEC_ID NUMBER(9)

ORDER_TYPE_ID NUMBER(6)

ITEM_SPEC_ID NUMBER(10)

NEW_ACTION NUMBER(5) Y

JOB_SPEC_ID VARCHAR2(6)

NEW_VALUE_SET VARCHAR2(2000) Y

OLD_VALUE_SET VARCHAR2(2000) Y

RELA_TYPE CHAR(1) Y

RELA_ITEM_SPEC_ID NUMBER(5) Y

RELA_NEW_VALUE_SET VARCHAR2(200) Y

RELA_OLD_VALUE_SET VARCHAR2(200) Y

RELA_NEW_ACTION NUMBER(5) Y

希望各路神仙施予援手,谢谢!

2个回答

insert into dynamic_rule
(area_id,prod_spec_id,order_type_id,tache_ids,seq,rule_string,priority,dynamic_type)
values (d.area_id,'650020001','','DT0735','1','10045='+o.order_type_id,'1','A');
你先执行一些这条插入语句,d.area_id,o.order_type_id, 按照你的规则先编一下;

                    -- '650020001',-- prod_spec_id  应该是这个的问题

追加说明:

问题出在begin下面的插入语句中

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
ORA-01722: 无效数字
错误原因: oracle数据库的字段是数值类型,插入数据时用的是字符串 解决方法: 将字符串改为数值类型
ora-01722 无效数字
参考地址:http://blog.51cto.com/yangyoushan/1793004 select  xx,sum(CASE WHEN aaCode =3 THEN 1 ELSE 0 END) AS aacode group by xx  其中aacode vachar2(20),在本地数据库执行不报错. 在客户服务器执行报错。 参照一下逻辑,解决问题。把aaCode =3  改成aa...
ORA-01722:无效数字
SELECT * FROM (select a.nursing_unit_code, b.name nursingName, a.ward_code, c.name warName, c.parent_id, a.hospital_area_code from pts.pts_dept_ward_nurse_mapping a, bds.bds_organization b,...
ora-01722无效数字
对 varchar2 类型的字段进行 SUM 操作rnrn出现 ora-01722无效数字 错误怎么解决?
ORA-01722:无效数字。
[img=https://img-bbs.csdn.net/upload/201711/09/1510233205_129228.jpg][/img]rn用C#做的一个插件,在VS2015里调试正常,EXE拿出来用就报错了。rn部分代码如下:rnusing System;rnusing System.Data;rnusing System.Windows.Forms;rnusing System.Data.Odbc;rnrnnamespace MessageViewerrnrn public partial class Form1 : Formrn rn string[] arg = null;rnrn public Form1(string[] args)rn rn InitializeComponent();rn this.arg = args;rn rnrn public Form1()rn rn InitializeComponent();rn rnrn /// rn /// rn /// rn /// rn /// rn public void ShowMsg(string strTyp, string strStuID)rn rn string strSql = null;rn if (strTyp =="1")rn rn labCcMsg.Visible = false;rn labCcZs.Visible = false;rn labCcjz.Visible = false;rn labCcqr.Visible = false;rn strSql = "select f_stu_ser_no from v_r_rpt_reg_today where f_stu_id='" + strStuID+"'";rn labNo.Text = OdbcSendMsg(strSql);rn strSql = "select f_stu_no from t_r_study where f_Stu_id ='" + strStuID + "'";rn labStu.Text = OdbcSendMsg(strSql);rn rn elsern rn labNo.Visible = false;rn labNoMsg.Visible = false;rn labStu.Visible = false;rn string strStaMac = null;//设备对应IDrn strSql = "select f_stu_char619 from t_r_study6 where f_stu_id='" + strStuID + "'";rn strStaMac = OdbcSendMsg(strSql);rn if (strStaMac =="")rn rn this.Dispose();rn rn elsern rn strSql = "select f_stu_char619 from t_r_study6 where f_stu_id='" + strStuID + "'";rn labCcZs.Text = OdbcSendMsg(strSql);rn rn rn rn rn private void Form1_Load(object sender, EventArgs e)rn rn if (arg == null || arg.Length == 0)rn rn Console.WriteLine("无设备");rn rn elsern rn ShowMsg(arg[0].ToString(), arg[1].ToString());rn rn rnpublic string OdbcSendMsg(string strSql)rn rn string strMsg=null;rn string strConn = "DSN=silverris;Uid=ris;Pwd=4s3c2a1p";rn OdbcConnection conn = new OdbcConnection(strConn);rn conn.Open();rn OdbcDataAdapter adp = new OdbcDataAdapter(strSql, conn);rn DataSet ds = new DataSet();rn adp.Fill(ds);rn conn.Close(); //关闭连接rn conn.Dispose();//释放资源rn if (ds.Tables[0].Rows.Count>0)rn rn strMsg = ds.Tables[0].Rows[0][0].ToString();rn rn else rn strMsg = "0";rn rnrn return strMsg;rn rnrn private void btnCancle_Click(object sender, EventArgs e)rn rn this.Dispose();rn rnrnrnrn rnrn求大神们解答下!
ORA-01722:无效数字
我在使用PL/SQL插入一条数据时,总是报(ORA-01722:无效数字),挺反感的,后来发现,原来是类型错误; insert into T_PROPERTIES_CONFIG (ID,PROP_NAME,PROP_VALUE,DIST_CODE,CREATE_TM,MODIFY_TM,PROP_NOTE,STATUS) VALUES ('20160615','URL_RSA_ROOT','/r
ORA-01722 无效数字
ORA-01722 字段中含有不能转换为数字的数据,一般出现在varchar类型向number类型转换。如果varchar类型含有非数字数据,或者含有不能合法转换的数字,就会触发这个报错。 编写函数协助找出不合法的数据记录。   create or replace function isNumber(p_invarchar2) return varchar
java.sql.SQLException: ORA-01722: 无效数字
[code=java]public boolean insert(Bills bill) rn //连接数据库rn openConnection();rn String sql = "insert into bill(Bill_id,Good_name,Good_amount,Good_price," +rn "Order_status,PROVIDER_ID,Good_describe,Bill_date,unit) " +rn "values(?,?,?,?,?,?,?,?,?)";rn boolean isInserted = false;rn try rn ps=con.prepareStatement(sql);rn ps.setLong(1,bill.getBid());rn ps.setString(2,bill.getProductName());rn ps.setInt(3, bill.getAmount());rn ps.setDouble(4, bill.getMoney());rn ps.setString(5, bill.getIsPay());rn ps.setLong(6, bill.getSid());rn ps.setString(7, bill.getDescription());rn ps.setDate(8, bill.getTradeTime());rn ps.setString(9, bill.getUnit());rn int rows=ps.executeUpdate();rn isInserted = rows > 0 ? true:false;rn catch (SQLException e) rn e.printStackTrace();rn finallyrn shutdown();rn rn return isInserted;rn [/code]rnrn数据库:[img=https://img-bbs.csdn.net/upload/201401/11/1389415922_138407.jpg][/img]
ORA-01722: 无效数字错误
本人现在运行下面的程序的时候 竟然出现了这个错误:“Warning: ociexecute(): OCIStmtExecute: ORA-01722: 无效数字 in d:\myweb\a\cost\ut_bottom.php on line 46rnrnWarning: ocifetchinto(): OCIFetchInto: ORA-24374: 在读取或执行并读取之前没有完成定义 in d:\myweb\a\cost\ut_bottom.php on line 47rn”rn我只是在else中的sql中使用了"…… where CINVCODE=$yongyou" 这句话,按照这上面的错误提示 是不是我数据库表应该是存在问题的,该如何进行修改?rn题意如下: 如果在文本框中 不输入任何的值时,就把所有记录都选出来;如果有输入值就选择相对应的这条记录;rn程序如下:rnut_middle.phprn[code=PHP]rnrnrn rn rn rnrnrn rn 选择要修改的编码:rn rn rn rn rn rnrn[/code]rnut_bottom.phprn[code=PHP]rn rn rn 编码rn 物料名称rn 规格型号rn 利用率rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn[/code]
【ORACLE】ORA-01722无效数字
【原因】筛选数据类型和数据库数据类型不符 【解决】where条件逐一排查,查看是否符合数据类型,若条件较多则采用分批试运行排查的方法 select * from workflow_requestlog where workflowid = 5085 and logtype = '3' -- and logtype = 3 logtype是char(1) and nodeid i
ORA-01722: 无效数字的解决方法
List<Atl> atls = commonDao.findByQuery("from Atl a where a.code ="+code);报错:ORA-01722: 无效数字List<Atl> atls = commonDao.findByQuery("from Atl a where a.code <>null");通过。List<Atl>...
ORACLE ORA-01722: 无效数字
Insert into IQS.CP_POSITION (PID,POSTIONNAME,AUDIOFILEID,CREATOR,UPDATETIME,CREATETIME,AUDIOPLAYLANGUAGE,AUDIONAME) values ('4d2ca1e7-94c7-4b94-87de-9a425639307c','大堂经理',((SELECT MAX(SER_NO)-1 FROM UPLOAD)+'@'+(SELECT MAX(SER_NO) FROM UPLOAD)),'ADMIN',sysdate,sysdate,'0@1','大堂经理.wav@大堂经理(粤).wav');rnrnrn这是我的SQL, ((SELECT MAX(SER_NO)-1 FROM UPLOAD)+'@'+(SELECT MAX(SER_NO) FROM UPLOAD)) 这个地方出错了,不过不知道为什么会报这个问题。因为对应的字段类型是VARCHAR2 ,怎么报了无效数字了!!求解
令人烦恼的 ora-01722 无效数字
原因:插入数据类型和数据库字段类型不符合; 出现背景:因为我编写pojo实体类的时候,主键id给的是 uuid(当初误以为uuid是int类型),于是在数据库那边修改了int类型,但pojo实体类忘了修改所导致。 解决:将pojo和数据库的字段值改为varchar(150)就可以了...
select error:ORA-01722:无效数字
rndw_1为数据窗口,定义了10个string类型的表达式rn在代码中:rndw_1.retrieve('%','%','%','%','%','%','%','%','%','%')rnrn程序报错“无效数字”rn请问是哪里的原因?谢谢。
ORACLE-023:令人烦恼的 ora-01722 无效数字
曾经一段时间内写sql语句时,老是莫名其妙的报ora-01722。对于这个错误提示,尤其是对于一个复杂的sql语句,很是郁闷,因为很多时候都不知所然。通过每次碰到的总结,其实也不是那么难以解决的,主要原因是:1、对于两个类型不匹配(一个数字类型,一个非数字类型,同下)的值进行赋值操作;2、两个类型不匹配的值进行比较操作(例如,“=”);3、to_number函数中的值,非数字的,比如,to_num
问题:java.sql.SQLException: ORA-01722: 无效数字
往表里插入一条记录,其中一个字段的类型为数字型。rn动态插入,如果值为空就插入null,rn报错:java.sql.SQLException: ORA-01722: 无效数字rn请问怎么解决?
Oracle错误: ORA-01722 无效数字
程序或者Oracle数据库出现“ORA-01722 无效数字” 错误 原因: 1、Oracle数据库的字段为Number类型,如果操作数据库的SQL语句中该字段所携带的数据不是数字类型,Oracle数据库会自动将该字段携带的数据转换成Number类型,但是最后转换不成功就会报错。 例如SQL语句中该字段携带的数据为“123”,那么Oracle可以成功转换,如果该字段携带的数据为“2019年6...
总是报错 ORA-01722: 无效数字
INSERT INTO T_QU_BRCF7001_1 ( T_QU_BRCF7001_1.PRODUCTID , T_QU_BRCF7001_1.PRODUCTCODE , T_QU_BRCF7001_1.FACTORYNAME , T_QU_BRCF7001_1.PRODUCTNAME , T_QU_BRCF7001_1.BITCODE , T_QU_BRCF7001_1.DICALIASNAME , T_QU_BRCF7001_1.ALLOTNOTAXAMOUNT , T_QU_BRCF7001_1.ALLOTAMOUNT , T_QU_BRCF7001_1.WHOLESALEPRICE , T_QU_BRCF7001_1.RETAILPRICE , T_QU_BRCF7001_1.SINGLEPROFIT , T_QU_BRCF7001_1.LASTQTY , T_QU_BRCF7001_1.PLANBUYQTY , T_QU_BRCF7001_1.PLANQTY , T_QU_BRCF7001_1.FORERESTQTY , T_QU_BRCF7001_1.FORESALEQTY , T_QU_BRCF7001_1.FOREPROFIT , T_QU_BRCF7001_1.FOREAMOUNT , T_QU_BRCF7001_1.FLAG ) SELECT B.PARENTID , B.PARENTCODE , B.PARENTNAME || ' -- 小计' , ' ' , ' ' , ' ' , ' ' , ' ' , ' ' , ' ' , ' ' , CAST ( SUM ( A.LASTQTY ) as NUMERIC ( 19 , 2 ) ) , CAST ( SUM ( A.PLANBUYQTY ) as NUMERIC ( 19 , 2 ) ) , CAST ( SUM ( A.PLANQTY ) as NUMERIC ( 19 , 2 ) ) , CAST ( SUM ( A.FORERESTQTY ) as NUMERIC ( 19 , 2 ) ) , CAST ( SUM ( A.FORESALEQTY ) as NUMERIC ( 19 , 2 ) ) , CAST ( SUM ( A.FOREPROFIT ) as NUMERIC ( 19 , 2 ) ) , CAST ( SUM ( A.FOREAMOUNT ) as NUMERIC ( 19 , 2 ) ) , 2 FROM T_QU_BRCF7001_1 A INNER JOIN QU_BS201131_1 B ON A.PRODUCTID = B.PRODUCTID GROUP BY B.PARENTID , B.PARENTCODE , B.PARENTNAME || ' -- 小计' rn[color=#FF0000]java.sql.SQLException: ORA-01722: 无效数字[/color]rnrn去pl/sql里面执行是没有问题的 但是 一放到项目里面就报这个错 到底是怎么一回事
java.sql.SQLException: ORA-01722: 无效数字 错误怎样解决
如题,找百度也解决不了
关于 ORA-01722:无效数字 的情况及处理方式
[img=https://img-bbs.csdn.net/upload/201702/23/1487817281_795572.png][/img]rnrn遇到这种情况是很头疼的;rnrn首先是知道数据格式不匹配导致的,但是缺少解决问题的经验,只是干瞪眼,不知道怎么找错误的数据,网上查了下,各种花样,还有用什么rownum去锁定区域的。。。(<--------这个方法我也是傻乎乎的就用了,后来反应过来,如果数据都有问题了,你怎么能查出来呢,所以希望看到本帖的哥们姐们不要再去那样试了,浪费时间。)rnrn于是乎怎么办呢,我只能去找同事帮我了,同事一下就给我找出来了问题。。。(感觉自己太菜了。。)rn如下图:分析下错误的原因吧--rn1)首先报错无效数字的话,确定了是字段格式不匹配,对于sql语句比我这个还复杂的,也是照样,讲语句分解开来rn2)分解开后,去查询出数据,首先关注关联查询的字段,其次重点去关注number类型的,再去找varchar类型的(varchar类型的需要关注是否超出了长度)。---[color=#FF0000]我这边出错的原因,是创建人CREATOR【varchar类型】是system,我们现有的代码是将创建人转换成对应中文名,对应的那个ES_USER的ID号是number类型的,不匹配所以报错了[/color]rn3)查询出数据,定位到错误的数据,再看后期是改数据还是添加过滤或者改表了,rnrn。。。。其实还是很简单的,记录下来怕自己以后忘记了;rn另外废话一下:很感谢同事的帮助,IT的道路上要对遇到的问题保持乐观,只有遇到了这样的错,下次就知道怎么去解决,哈哈!加油加油加油!!!!rn[img=https://img-bbs.csdn.net/upload/201702/23/1487817534_459325.png][/img]rnrn
关于SUBSTR的问题:ora-01722:无效数字
SELECT substr(tbl_hotel_guest.address,1,4),rn sum(substr(tbl_hotel_guest.address,1,4)) from tbl_hotel_guestrn group by substr(tbl_hotel_guest.address,1,4);rn当运行以上脚本时,提示如下错误:rnora-01722:无效数字rn怎么解决?
JSP报错: java.sql.SQLException: ORA-01722: 无效数字
String id=request.getParameter("id");rnif(id==null)rnout.print(" ");rnrnsql="select * from scott.main,scott.teacher,scott.type where rnrnmain.idofteacher=teacher.teacherid and main.idoftype=type.typeid and main.mainid='"+id+"'";rn rs=stmt.executeQuery(sql); rn if(!rs.next())rn out.print(" ");rn rn运行时 报错:java.sql.SQLException: ORA-01722: 无效数字rnrn oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:180)rn oracle.jdbc.ttc7.TTIoer.processError(TTIoer.java:208)rn oracle.jdbc.ttc7.Oall7.receive(Oall7.java:543)rn oracle.jdbc.ttc7.TTC7Protocol.doOall7(TTC7Protocol.java:1451)rn oracle.jdbc.ttc7.TTC7Protocol.fetch(TTC7Protocol.java:943)rn oracle.jdbc.driver.OracleStatement.doExecuteQuery(OracleStatement.java:2126)rn oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:2331)rn oracle.jdbc.driver.OracleStatement.doScrollStmtExecuteQuery(OracleStatement.java:6280)rn oracle.jdbc.driver.OracleStatement.executeQuery(OracleStatement.java:640)rn org.apache.jsp.detail_jsp._jspService(org.apache.jsp.detail_jsp:94)rn org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)rn javax.servlet.http.HttpServlet.service(HttpServlet.java:802)rn org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:322)rn org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:291)rn org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)rn javax.servlet.http.HttpServlet.service(HttpServlet.java:802)rnrn我想请问下这是什么原因 我的代码有问题吗?rn我的表里面 关于ID的字段 我都用的 NUMBER型~~~rn有高手帮忙解决下 谢谢了~~~rn
ora-01722无效数字 求指点,谢谢
两段代码,一能执行,二报错ora-01722无效数字,指向NVL,就多了个where条件,Google了一天没找到答案rnrn[code=sql]SELECT bb_get_info_detail_f (1094,rn NVL (a.build_id, 0)rn ) hose_codern FROM bb_service_relation_t a, bb_gsm_service_info_t b[/code]rnrn[code=sql]SELECT bb_get_info_detail_f (1094,rn NVL (a.build_id, 0)rn ) hose_codern FROM bb_service_relation_t a, bb_gsm_service_info_t brn WHERE b.product_end_date >= TO_DATE ('2013-05-8', 'yyyy-MM-dd')rn AND b.product_end_date < TO_DATE ('2014-02-19', 'yyyy-MM-dd') + 1rn AND a.user_id = b.user_idrn AND a.if_valid = 1[/code]rnrn
查询视图的时候出现ORA-01722:无效数字
查询视图的时候出现ORA-01722,无效数字,但要是查询语句后面加上条件,就可以查询是什么原因的啊rn
oracle 查询时报 ORA-01722: 无效数字 错误
我有个SQL语句,子查询里如果只有一个条件就不会报错,但是两条放在一起就有问题。1、执行整个SQL报错,说无效数字:select a.subjid from HADS a where a.HADSSN>=8 and (select count(*) from HA where subjid=a.subjid and HAMDSN is null)>0; 2、单独执行任一个子查询则不会报错。如select a.subjid from HADS a where a.HADSSN>=8 and (select count(*) from HA where subjid=a.subjid )>0; 或 select a.subjid from HADS a where a.HADSSN>=8 and (select count(*) from HA where HAMDSN is null )>0; 都不会报错,加在一起就报错,请高手指点,如果正确,我倾分感谢! subjid 为字符型。HAMDSN 为字符型
ORACLE查询试图提示 ORA-01722: 无效数字
SELECT a.FileID, a.FileName, a.ParentId, to_char(a.CreateDate,'yyyy-MM-dd') as CreateDate , NVL(c.ProjectID, 0) AS ProjectID,UDS_Disk_FolderMark.Mark, d.NodeIDrnFROM (SELECT FileID, FileName, ParentId, to_char(CreateDate,'yyyy-MM-dd') as CreateDate , Flag, FolderTypern FROM UDS_Disk_Filern WHERE (Flag = 0)) a LEFT OUTER JOINrn UDS_Disk_FolderMark ON a.FileID = UDS_Disk_FolderMark.FileId rn LEFT OUTER JOINrn UDS_Disk_DiskInProject c ON a.FileID = c.FileID INNER JOINrn (SELECT NodeID, NodeValueIdrn FROM UDS_NodeTreern WHERE (NodeType = 4)) d ON a.FileID = d.NodeValueId
随身小记:ORA-01722无效数字的解决办法
1、数据的格式不正确转换、 2、nvl( ) 函数 ,使用nvl( ) 函数
PL/SQL提示“ORA-01722:无效数字”
写写bug.PL/SQL提示“ORA-01722:无效数字”sql老是报无效的数字解决: 最后,查询网上是字段的类型问题,后来发现:日期本身就是varchar.类型的问题.
LEFT JOIN提示ORA-01722:无效数字
报错信息: 通过核对 LEFT JOIN ON后面条件, 发现等号后面写成了字符串,修改成数值型条件即可。     补充学习: 一、left join on on条件是在生成临时表时使用的条件,它不管on中的条件是否为真,都会返回左边表中的记录。 二、left join on and (1)如果and语句是对左表进行过滤的,那么不管真假都不起任何作用。 (2)如果and语句是对右表过...
求助删除错误ORA-01722: 无效数字
javascript:Delete('/web/cdzh/businessInfoManage/119Info/firecontrolpower/car/carDelete.jsp?i=1&ID=sss&searchCLBH=&searchDWBH=1000119000020003&searchCLLX=&searchCHKU=')rn因为ID 为字母所以会爆出ORA-01722: 无效数字错误,如果我的ID必须为含有字母的话,我如何更改可以使删除可用?rn
存储过程报ORA-01722无效数字错误
create or replace procedure p_fp_pjzxkchz(as_fpDjxh in varchar2,rn as_swjgDm in varchar2,rn as_ckDm in varchar2,rn as_swryDm in varchar2) isrn /*rn 存储过程说明:此存储过程用于对通过"回调"或"删除调拨单"进入票据中心库存的同类票(入库单价相同)进行汇总合并*/rn ls_fpzlDm t_fp_fpdjmx.fpzl_dm%type;rn ls_fpDm t_fp_fpdjmx.fp_dm%type;rn ls_fpQshm t_fp_fpdjmx.fp_qshm%type;rn ls_fpZzhm t_fp_fpdjmx.fp_zzhm%type;rn ls_sldwDm t_fp_fpdjmx.sldw_dm%type;rn ls_sl t_fp_fpdjmx.sl%type;rn ls_sl1 t_fp_fpdjmx.sl%type;rn ls_sl2 t_fp_fpdjmx.sl%type;rn ls_dj1 t_fp_fpdjmx.dj%type;rn ls_dj2 t_fp_fpdjmx.dj%type;rn ls_dj t_fp_fpdjmx.dj%type;rn qshm t_fp_fpdjmx.fp_qshm%type;rn zzhm t_fp_fpdjmx.fp_zzhm%type;rn cursor c_fpdjmx isrn select * from t_fp_fpdjmx t where t.fpdj_xh = as_fpDjxh;rnbeginrn --循环刚入库的票rn for cur in c_fpdjmx looprn ls_fpzlDm := cur.fpzl_dm;rn ls_fpDm := cur.fp_dm;rn ls_fpQshm := cur.fp_qshm;rn ls_fpZzhm := cur.fp_zzhm;rn ls_sldwDm := cur.sldw_dm;rn ls_sl := cur.sl;rn --1查找库存中是否有与该号码相连的票,并将其合并rn --1.1先找与该起始号码相连的rn select sum(kc.sl)rn into ls_sl1rn from t_fp_swjgfpkc kcrn where kc.swjg_dm = as_swjgDmrn and kc.ck_dm = as_ckDmrn and kc.swry_dm = as_swryDmrn and kc.fpzl_dm = ls_fpzlDmrn and kc.fp_dm = ls_fpDmrn and kc.fp_zzhm = ls_fpQshm - 1rn and kc.sldw_dm = ls_sldwDm;rn --1.2找与该终止号码相连的rn select sum(kc.sl)rn into ls_sl2rn from t_fp_swjgfpkc kcrn where kc.swjg_dm = as_swjgDmrn and kc.ck_dm = as_ckDmrn and kc.swry_dm = as_swryDmrn and kc.fpzl_dm = ls_fpzlDmrn and kc.fp_dm = ls_fpDmrn and kc.fp_qshm = ls_fpZzhm + 1rn and kc.sldw_dm = ls_sldwDm;rn --2分三段分别找出其入库价格rnrn select nvl(djmx.dj, 0)rn into ls_dj1rn from t_fp_fprkd rkd, t_fp_fpdjmx djmxrn where rkd.jsdw_dm = as_swjgDmrn and rkd.jsck_dm = as_ckDmrn and rkd.fprkd_xh = djmx.fpdj_xhrn and djmx.fpdj_lx = '0'rn and djmx.fpzl_dm = ls_fpzlDmrn and djmx.fp_dm = ls_fpDmrn and djmx.fp_qshm <= qshmrn and djmx.fp_zzhm >= ls_fpQshm - 1;rnrn指到这一行错误。
ORA-01722:无效字符
Oracle报错:SELECT k.id, k.name, k.bz, COUNT(1) AS num FROM ZJ_KFGL k LEFT JOIN ZJ_SJD_BG_CRK b ON k.id = b.kf LEFT JOIN ZJ_YPGL y ON b.ypid = y.id LEFT JOIN Zj_sjd s ON y.sjd_id = s....
oracle报错ORA-01722无效数字处理
原因: to_number中数值有无法转为数值型的,比如例子的’nan’字符;或者还有其他非法字符在数据里。 解决方法1: 剔除无效字符(如’nan’,注意这里举例的’nan’是示例数据中的一个字符,不是空值Nan),并且在末尾where再to_number一次。 代码: select * from (select to_number(column) as column1, a.* from (s...
ORA-01861: 文字与格式字符串不匹配,ORA-01722: 无效数字
SQL> create table Student(   2         id varchar2(20) primary key,   3         birth date   4  )   5  / 表已创建。 SQL> insert into Student values('1',to_date('2017/11/11','yyyy-mm-dd')); 已创建
javaWeb项目中连接数据异常信息:ORA-01722:无效数字
异常原因: 对数据库进行操作的数据类型,前台获取和数据库内字段类型不一致,导致操作数据库数据时因数据类型不一致而无法完成数据操作。 解决方案: 检查前后端操作的数据类型,保证要操作的数据类型完全保持一致。 ...
记一次 oracle ORA-01722: 无效数字 错误排查
先上sql select count(*) from user t where t.customerid !=4099; // 报错 无效数字 select * from user t where t.customerid !=4099; // 没问题 百思不得其解啊,一直想着是不是字段设置的问题,对比了下另一个表,设置字段不为空啊,加个索引啊·都不行。 偶然点到 咦··
一个简单的查询语句,一直报 ORA-01722: 无效数字!!!!
查询语句:select * from tablename where ty='insert' rn错误:ORA-01722: 无效数字rn真是无语了,数据库是8版本的,请高手帮帮忙!!!!!!!!!!!!
使用to_number函数,提示ORA-01722无效数字的解决方法
使用to_number()函数时,提示ORA-01722:无效数字 的解决方法 原因分析:  1.显式原因: 即字段中存在非数字的字符。 解决方法:(1)替换掉非数字的字符。     (2)使用 ORACLE的regexp_like函数,过滤掉含有非数字字符的记录。 例如: select  * from table1 T1 where regexp_like(T1.字段名,' ^[
Oracle查询中使用in提示ORA-01722: 无效数字
sql语句是[code=SQL]update t1 set col1=:col1 where NSEQ in (:list)[/code]rn其中list存放id的列表。调用的时候提示:ORA-01722: 无效数字。rn为什么会出现这个错误,应该怎样修改,谢谢!
求救:java.sql.SQLException: [Oracle][ODBC][Ora]ORA-01722: 无效数字!
java.sql.SQLException: [Oracle][ODBC][Ora]ORA-01722: 无效数字rnrn at sun.jdbc.odbc.JdbcOdbc.createSQLException(JdbcOdbc.java:6958)rnrn at sun.jdbc.odbc.JdbcOdbc.standardError(JdbcOdbc.java:7115)rnrn at sun.jdbc.odbc.JdbcOdbc.SQLExecute(JdbcOdbc.java:3150)rnrn at sun.jdbc.odbc.JdbcOdbcPreparedStatement.execute(JdbcOdbcPreparedStatement.java:214)rnrn at sun.jdbc.odbc.JdbcOdbcPreparedStatement.executeUpdate(JdbcOdbcPreparedStatement.java:136)rnrn at dataexchange.InputFrame.jButton1_actionPerformed(InputFrame.java:266)rnrn at dataexchange.InputFrame_jButton1_actionAdapter.actionPerformed(InputFrame.java:322)rnrn at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1786)rnrn at javax.swing.AbstractButton$ForwardActionEvents.actionPerformed(AbstractButton.java:1839)rnrn at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:420)rnrn at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:258)rnrn at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:245)rnrn at java.awt.Component.processMouseEvent(Component.java:5100)rnrn at java.awt.Component.processEvent(Component.java:4897)rnrn at java.awt.Container.processEvent(Container.java:1569)rnrn at java.awt.Component.dispatchEventImpl(Component.java:3615)rnrn at java.awt.Container.dispatchEventImpl(Container.java:1627)rnrn at java.awt.Component.dispatchEvent(Component.java:3477)rnrn at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:3483)rnrn at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3198)rnrn at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3128)rnrn at java.awt.Container.dispatchEventImpl(Container.java:1613)rnrn at java.awt.Window.dispatchEventImpl(Window.java:1606)rnrn at java.awt.Component.dispatchEvent(Component.java:3477)rnrn at java.awt.EventQueue.dispatchEvent(EventQueue.java:456)rnrn at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:201)rnrn at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:151)rnrn at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:145)rnrn at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:137)rnrn at java.awt.EventDispatchThread.run(EventDispatchThread.java:100)rnrnrn 是将vf中的数据导入到oracle中,用的是jdbc,请问高手,这个可能是什么错误?我导入列明明是数字型的字段,怎么会说是无效数字? 是精度问题吗?
相关热词 c#部署端口监听项目、 c#接口中的属性使用方法 c# 昨天 c#func链接匿名方法 c#怎么创建文件夹 c#从键盘接收空格 c#da/ad c#部门请假管理系统 c#服务器socket c# 默认的访问修饰符