boss布置个任务,主要内容是对标识表和标识类型表进行CRUD的操作。没有难度的敲代码,但是有两个地方我想记录下来的。首先,先把表结构给出。标识表(REPOT_BS):
- Name Type Nullable Default Comments
- --------- -------------- -------- ------- --------
- ID NUMBER(12) 标识类型id
- NAME VARCHAR2(128) Y 标识类型名称
- PARENT_ID NUMBER(12) Y 标识类型父id
- MARK VARCHAR2(2000) Y 备注
标识类型(REPOT_CATEGORY):
- Name Type Nullable Default Comments
- ----------- -------------- -------- ------- ----------------
- ID NUMBER(12) 标识id
- NAME VARCHAR2(128) Y 名称
- MARK VARCHAR2(2000) Y 备注
- CATEGORY_ID NUMBER(12) Y 类型id
- STATE CHAR(1) Y 1启用 0未启用 启用后不能删除
好,第一点是,插入数据时, 取标识表的最大值+1作为id。SQL:
- INSERT INTO REPOT_BS (ID,NAME,MARK,CATEGORY_ID,STATE) VALUES ((SELECT NVL(MAX(ID),0)+1 FROM REPOT_BS),#name#,#mark#,#categoryId#,#state#)
其中,红色部分就是 取表示表的最大值+1作为id, max是最大值函数,NVL(A,B)函数表示加入A的值为null,那就返回B,否则返回A。max和nvl都是Oracle的系统函数。注: oracle是不分大小写的。- _ -第二点 : 判断某标识类型下的是否有启动的标识。SQL:
- select count(*) from (select 1 from ZY_SYS_REPOT_BS B where b.state = "1" and b.category_id = #categoryId#)
如果返回值大于0 ,则该标识类型下有启动的标识,反之小于0,则没有。这句SQL是在删除标识类型的时候,要预先判断的。Spring的多数据源配置(Spring+iBATIS + Oracle环境下)Linux下安装Oracle常见问题相关资讯 oracle数据库教程
- Oracle raw数据类型介绍 (01/29/2013 10:05:53)
- 监听器注册与ORA-12514 错误分析 (11/13/2012 14:30:08)
- Oracle SQL的cursor理解 (11/13/2012 14:16:17)
| - Oracle 如何强制刷新Buffer Cache (01/29/2013 10:02:46)
- dblink致Oracle库的SCN变成两库的 (11/13/2012 14:24:41)
- Linux操作系统下完全删除Oracle数 (11/13/2012 08:25:52)
|
本文评论 查看全部评论 (0)