苦恼啊,本人使用的数据库不是oracle,
如何才能实现oracle sequence的功能?
各位有这方面的经验吗?
如何才能实现oracle sequence的功能?
各位有这方面的经验吗?
解决方案 »
- Oracal中如何查询以百分号结尾的数据?
- 求助:关于获取原始记录以及修改记录的查询语句
- 求sql 在线等
- 求怎样把外表的一个字段所有值显示在主表里?
- 请问:oracle 10g 如何clone 一个database
- 怎么修改“安装检测到系统的主 IP 地址是 DHCP 分配的地址。”这个问题?
- oracle正确显示纯小数????
- 问题不难,大家可以来看看
- ORACLE中含有以"_"开头的表如"_TEST",如何写SQL语句进行操作! 急!!!
- RMAN的问题,control文件没备份,该如何办?急
- 高分大送!!我想将Oracle9i下的数据库包括(一个用户,表空间,所有的表,过程等)移动到另外一台机器的Oracle9i上,该如何做!)
- 时间处理的问题
Create Table sequence_maker ( sequence_no number default 0 , sequence_type varchar2(3)) At time of geting the key , fetch sequence_maker table to get the max(sequence_no)+1 insert into your_table . Then Update sequence_no = sequence_no + 1 in sequence_maker table. (sequence_type is used for in case you have more tables need to generate the PK)
PROCEDURE "GETSERIES" (
vl_name IN VARCHAR2,
vl_id IN VARCHAR2,
vl_len IN INTEGER,
vl_out OUT VARCHAR2
)
IS
cnt INTEGER;
temp INTEGER;
vl_zz VARCHAR(30);
BEGIN
SELECT count(*) INTO temp FROM t_sysinfo WHERE
rtrim(INFONAME)=rtrim(vl_name);
IF (temp<>0) THEN
BEGIN
SELECT info INTO temp FROM t_sysinfo WHERE rtrim(INFONAME)=rtrim(vl_name);
temp:=temp+1;
UPDATE t_sysinfo SET info=temp WHERE rtrim(infoname)=rtrim(vl_name);
END;
ELSE
BEGIN
temp:=1;
INSERT INTO t_sysinfo(infoname,info) VALUES(vl_name,to_char(temp));
END;
END IF; SELECT
concat(substr('00000000000000000000',1,20-length(to_char(temp))),to_char(temp)) c into vl_zz FROM dual; if vl_id is not null then
SELECT
concat(RTRIM(vl_id),substr(vl_zz,21-vl_len+length(RTRIM(vl_id)),vl_len)) c into vl_out
FROM dual;
else
SELECT
substr(vl_zz,21-vl_len,vl_len) c into vl_out
FROM dual;
end if;
END;
they all use this table, then this table must be locked, right?
Is it complicated to do that? And how to do that?
Thanks in advance!
顺便问一下有没有用JAVA开发面向对象数据库的?
HIGH/LOW 方法的优点,每次会话只需与数据库交互一次,减少了流量,使键值表的访问不再成为瓶颈。其次,保证了OID 在所有对象中的唯一性。
与前面所提到的方法比较,HIGH/LOW 方法是最有效和实现较简易的方法其基本思想是在创建永久对象:由ObjectFactory 对象(可参见创建设计
模式中的Singleton)为它分配OID,ObjectFactory 的唯一职责创建新的OID 对象。ObjectFactory 跟踪HIGH和LOW 的取值来得到新的OID。具体而言,通过访问Persistence 机制(数据库)来获取HIGH,而基于LOW 的当前值返回唯一的OID。asColumns 方法则以关系数据库存储的对应形式返回OID 的实例。
不支持lock,请教各位大侠.
如何产生sequence值, 我用的数据库不支持事物和lock.
我使用jdbc和oracle.
多谢!
顺便问一下有没有用JAVA开发面向对象数据库的?如果你要的是对象访问数据库的产品,可以使用toplink,详细情况你可以到webgain的官方网站www.webgain.com
没关系。
查询之前先加1就行了,只是不能保证连号