在执行sql语句时报错:ORA-00001: unique constraint是怎么回事?

作者&投稿:宗政淑 (若有异议请与网页底部的电邮联系)
ORACLE报的ORA-00001:ORAunique constraint (DOCLIB.PRIID) violated错误~

我程序里面使用的是UUID作为主键插入的记录,按说是绝对不可能重复的

你是用ORACLE的序列生成 PRIID 的吗? 还是在应用程序层生成的?
如果在应用程序层生成的,那有可能语句逻辑有问题,重复执行了插入的动作会不会。

还是用ORACLE 的 序列去生成 PRIID 吧,不会有在应用层重复插入的问题,就算网络有问题,序列是在数据库本机上生成的,也不会有重复的问题。

应该把建表语句和插入语句贴出来啊。
是不是某列的的约束条件是唯一,你却插入了重复的数据。
有一种可能:你主键没有设置自增长,所以两次插入了相同的主键
**********************************************************************************
this.getMaxId(con)这个值,能保证都不重复么?

违反了唯一性约束,所以导致插入不正确。




执行Transact-SQL 语句或批处理时发生了异常。 (Microsoft.SqlServer...
贴出来为SQL2005的语句 楼主是SQL2000还是?--SQL2008或SQL2005 USE [master]GO CREATE LOGIN [12] WITH PASSWORD=N'1', DEFAULT_DATABASE=[master], CHECK_EXPIRATION=OFF, CHECK_POLICY=OFF GO USE [Test]GO CREATE USER [12] FOR LOGIN [12]GO USE [Test]GO EXEC sp_addrolemember N'db_...

动态SQL语句,执行储存过程时提示插入临时表CD_FuleGasTemp的FStaionNa...
or '''+@fgunid+'''='''+''+''');' FROM CD_DayTableName WHERE FDate BETWEEN @NewStartDate AND @EndDate 这个时候执行这个语句就没有语法错误了.但是你这个是一个查询语句,LZ事项直接去执行这个语句获取结果对不对.这个时候我建议写成存储过程,传递这些参数进行 就然后获得结果就好了.

如何让定时任务单独执行一个sql语句报错
你的问题没有完全理解,如果是问如果让定时器定时执行SQL语句,你可以使用 SQL Server Agent创建一个Job,然后为这个Job创建一个SQL Script的步骤 在这个步骤中输入你要执行的SQL 语句 在步骤的高级属性中你可以设置错误信息存储到一个Log文件

...请问如何解决?执行 Transact-SQL 语句或批处理时发生了异常_百度知 ...
-- 最后把脚本保存到一个 .sql 脚本文件 2. 在2000中创建目标数据库 在查询分析器(或2005的manger studio在打开脚本文件), 连接到SQL Server 2000,执行上面生成的脚本.以创建一个新的数据库 3. 将数据从2005导到2000 2005 的manger studio -- 打开"对象资源...

SQL2005数据库无法使用。执行 Transact-SQL 语句或批处理时发生了异常...
猜测有两种情况呀 一种是你数据库所在的硬盘没有空间了 还有一种是你的系统库msdb坏了 或者是丢失了 总之,要修复很麻烦的 你以前有没有备份什么的在其它计算机上回复一下试试吧 或者,找到你现在用的数据库以*.mdf和*.ldf结尾的两个数据库文件,把他们保存好,然后,重装sql试试吧 ...

...但是用jdbc连接我本地数据库之后 执行一样的sql就报ORA-02019错误...
Statement stmt = con.createStatement();为了执行 Statement 对象,被发送到数据库的 SQL 语句将被作为参数提供给 Statement 的方法:ResultSet rs = stmt.executeQuery("SELECT a, b, c FROM Table2");2、使用 Statement 对象执行语句 Statement 接口提供了三种执行 SQL 语句的方法:executeQuery、...

同一个SQL语句有有时显示正确有时显示不正确
估计是你的sql系统有点问题,重装一下试试看 企业版在xp下应该装不来的,只有在服务器操作系统上才能安装. 如果你要使用或学习sql,建议安装个windows2003,和xp没什么区别,但对sqlserver和iis这类应用软件来讲比xp好的太多了.

oracle用sql语句插入数据,为什么老是显示正在运行
可能是表被锁了,可以杀死其它Session,也可以简单的重启数据库。

SQL语句在数据库中是如何执行的
第一步:应用程序把查询SQL语句发给服务器端执行我们在数据层执行SQL语句时,应用程序会连接到相应的数据库服务器,把SQL语句发送给服务器处理。第二步:服务器解析请求的SQL语句SQL计划缓存,经常用查询分析器的朋友大概都知道这样一个事实,往往一个查询语句在第一次运行的时候需要执行特别长的时间,但是...

如何判断SQL语句是否执行成功
if @@ROWCOUNT > 0 and @@ERROR = 0 @@ROWCOUNT > 0表示影响行数大于0 @@ERROR =0表示无出错,两个结合判断执行成功,if语句放在要执行的SQL语句后面就行了

丹寨县13744141568: oracle执行SQL,为什么在一台机器上正常,在另一台上就报错ora -
漳朗盐酸: 请按如过程检查(对于java来说,注意是连接串、和防火墙,和oracle sql developer相同方法):1 服务器,可否正常登录数据库并查询数据sqlplus2 服务器上 用sqlplus user/pwd@orcl 的方式能否登录?3 服务器的防火墙是否开着,是否没有为oracle调整过4 客户端用oracle sql developer 连接时,地址,端口,数据库实例名,用户名,密码,是否都正确?5 对于使用oci连接(pl/sql developer、toad等)的客户端,本地网络服务名 (tnsnames.ora中的配置内容)配置的内容是否正确

丹寨县13744141568: 运行oracle 中的sql plus ,输入desc emp的时候出现ERROR:ORA -
漳朗盐酸: 实际上是sqlplus开了子进程来执行shell命令. 3、Oracle数据库中的表分两类oerr ora [错误号] ,系统可以显示错误的原因和如何修改.如果命令错误输入

丹寨县13744141568: 执行SQL失败,提示批处理中出现错误: ORA - 00911怎么解决? -
漳朗盐酸: 应该是错误输入了全角字符,输入半角字符就行了.错误信息ORA-00911: invalid character说明了在执行的SQL语句中出现了无效字符,所在SQL语句无法通过语法分析过程导致了错误结果.可能出现的原因有:错误地输入了全角字符,比如输...

丹寨县13744141568: 为什么我连续执行insert语句报错:ORA -
漳朗盐酸: insert into t2 values('4','aaa'); insert into t2 values('5','bbb'); insert into t2 values('6','ccc'); 执行sql>;@e:\c.sql可以插入3行.同样的语句在sql里直接执行 SQL>; r1 insert into t2 values('7','aa');2 insert into t2 values('8','bb');3* insert into t2 values('9','cc...

丹寨县13744141568: 在执行多条SQL语句时出现(ORA - 00911:无效字符)的错误!请高手指教?? -
漳朗盐酸: SQL查询语句一次只能执行一条.如果是多条的话,前面一句后面';'就是无效字符.如果要执行多条语句,只能这样,begin 你的语句.这里的select语句是赋值语句,如select ...into 你的变量 from 表(只能是一条记录.);--这里是有';'号的 然后再处理数据.end;

丹寨县13744141568: 执行sql报错: 坐等答案 为什么不能执行,会报错:ora - 00933 -
漳朗盐酸: 就看出一点毛病,就是union 前那句不要order by ,同样后一句也把order by 去掉 如果你两句单独运行没问题的话,排序可以这样 select t.* from(查询一 union all 查询二) as t order by 某字段 还有你zy和dy应该给这列起个别名

丹寨县13744141568: 执行数据库语句时,报“oracle 中ORA - 00913:值过多”的错误怎么办? -
漳朗盐酸: insert into xg_zhcp_zcfsb (xh, xn, xq, xmdm, fs, lrr,lrsj) select 这是你写的, 但是你后面select出来的字段大于7个, 自然就报错了在出错前把SQL语句 用System.out.println(sql);输出下,粘到Oracle 里试试看,一般Oracle会给你提示

丹寨县13744141568: ora - 00900:无效sql语句 -
漳朗盐酸: 给你个建议:1、用System.out.println把你拼装的sql打印出来.2、把打印出的sql考到sqlplus中执行,确认一下是什么原因.※一般这个原因是拼装时候的拼装问题.比如:拼出了【wherexxx=xxxandxxx=xxx】and前面没有空格.字符型的字段后

丹寨县13744141568: sql执行后出现ORA - 01722: invalid number -
漳朗盐酸: 我测试了下,ORACLE中,MOD (TO_NUMBER (vcidname), 5) = 4,这个条件是可以查到数据,并有结果的,前提是vcidname字段必须是纯数字的字符串值!报错的话,估计是你表的字段vcidname中,某些记录包含了非数字的字符,如:abcd1234等;我用一张几百万记录的表,代公式去查都没有问题. -------------------------------------- 例如:select MOD (TO_NUMBER ('aa1234'), 5) from dual; 就会报ORA-01722: invalid number错误,实际是函数:to_number()报错了.

丹寨县13744141568: 在asp.net中执行sql语句的时候提示ORA - 00933:sql命令未正确结束是什么意思? 怎么解决? -
漳朗盐酸: SQL语句的问题, 把SQL语句贴出来看看, 或者直接放到数据库里运行一下看有什么错.

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网