我安装了一个Oracle数据库桌面系统。
建立了一个表tuser,包含列: 用户名 yhm(varcha2)、口令 kl(varcha2)、真实姓名 zsxm(varcha2)、工作单位 gzdw(varcha2)、注册日期 zcrq(date)应用程序中的sql插入语句:
insert into tuser(yhm,kl,zsxm,gzdw,zcrq) values('zs','1qaz','张三','文轩集团',to_date('2010-01-23 11:52:51','YYYY-MM-DD HH24:MI:SS'))现在表中只插入了这一条数据。
使用查询语句:select * from tuser按理说,得到的查询结果应该是:
yhm kl zsxm gzdw zcrq
zs 1qaz 张三 文轩集团 2010-01-23 11:52:51实际得到的结果是:
yhm kl zsxm gzdw zcrq
23 1qaz 张三 文轩集团 23-1月 -10
我通过几次实验,发现yhm中的值是整数,一直递增。为什么???请高手指点,谢谢!
建立了一个表tuser,包含列: 用户名 yhm(varcha2)、口令 kl(varcha2)、真实姓名 zsxm(varcha2)、工作单位 gzdw(varcha2)、注册日期 zcrq(date)应用程序中的sql插入语句:
insert into tuser(yhm,kl,zsxm,gzdw,zcrq) values('zs','1qaz','张三','文轩集团',to_date('2010-01-23 11:52:51','YYYY-MM-DD HH24:MI:SS'))现在表中只插入了这一条数据。
使用查询语句:select * from tuser按理说,得到的查询结果应该是:
yhm kl zsxm gzdw zcrq
zs 1qaz 张三 文轩集团 2010-01-23 11:52:51实际得到的结果是:
yhm kl zsxm gzdw zcrq
23 1qaz 张三 文轩集团 23-1月 -10
我通过几次实验,发现yhm中的值是整数,一直递增。为什么???请高手指点,谢谢!
看看前台程序是否有对yhm进行更新操作
还有是否错误使用了序列
是这样的:我第一次注册时,yhm的值为1,第二次注册时,yhm的值为2,,,,以此类推,第23次注册值为23.不知道什么原因。
查看:
select * from all_triggers where table_name='TUSER';
查看触发器定义
还可以在dbms.metadata.get_ddl('Triger',触发器名字)来查看触发器的数据库定义语句。学习了。呵呵
检查你这个表上的触发器设置,找到这个触发器将其禁用。或者干脆禁用这个表上所有的触发器:
alter table tuser disable all triggers;
启用
alter table tuser enable all triggers;
在左连的对象浏览窗口中找到表tuser
依树型结构可以选择
Referenced by (查看所有引用该表的其它对象)
Triggers (查看引用该表的触发顺)
你的表可能不是自己创建的,而是利用导入程序导入的。