有一个编码表。 有编码和字符2个字段。 编码为四位十进制数,字符为一个任意字符!要求写一个业务逻辑来进行验证表是否满足:一个编码对应唯一的一个或多个汉字,
一个字符只能对应唯一的一个编码。
一个字符只能对应唯一的一个编码。
解决方案 »
- tomcat6.0 后台报错 数据库是SQL2000 如何查是哪个表 或者 哪个操作引起的 不知道怎么查问题啊
- 使用struts1.3遇到一个弱智问题。。但是自己解决不了。。。
- 石器时代与文明时代
- 工程已经用了hibernate框架了。也生成了hibernate.cfg.xml文件,只是不能生成映射文件
- 如何使用ejb3的jpa删除表中某个日期以前的记录?数据库使用mysql
- struts2的文件下载?
- JSP核心标签库的c:set用法问题
- spring报表中文化
- 谁有jbuilder7的jaxrpc.jar给我发一个,给50分,等待...
- tomcat下如何配置?
- Hiberbate将数据插入到MySQL数据库时候的问题
- 面试sql问题 求解
CREATE TABLE AC_CODING
(
ID NUMBER(10) NOT NULL,
CODE VARCHAR2(64),
CHARACTER VARCHAR2(64),
CONSTRAINT PK_CODING PRIMARY KEY (ID)
);
DROP SEQUENCE CODING_SEQ;
CREATE SEQUENCE CODING_SEQ INCREMENT BY 1 START WITH 1 MINVALUE 1 NOCYCLE CACHE 20 ORDER;以上是我建表sql语句(oracle)
CHARACTER VARCHAR2(64) UNIQUE
就行了
不是那么简单的。假如你做了这么一个模块给别人用。别人就是要很直观的检验你的编码是否符合规范。你也没有办法。而且数据不一定从页面输入,有可能从txt或者excel导入,这样中途导入的时候,最好也能调用此业务逻辑在界面上进行判断和友好提示。有没有人会写啊。给个详细点的思路也行啊。
如果你不想在数据库上处理,那么就要在程序上处理
我觉得无论你的数据从哪里来,你必然要拿新的数据和数据库中已有的数据进行比对,不比对你怎么知道数据是不是符合要求?界面传入,好说。即便是txt 文本或EXECL 导入,它也得是逐行读取,你可以定义个Map 集合,
将数据库里的数据封装在里面,编码为键,字符为值,Map 集合键值不可以重复,自然可以避免编码重复,
把你新导入的数据的键放 map 里找,如果没找到值,就pass通过,插入数据库。如果找到,就表示有重复,然后抛出个异常或返回一个标识就好了。
如果这个逻辑还行不通,那我可真是没办法了