请问如何实现挂号ID的生成?

来源:百度知道 编辑:UC知道 时间:2024/05/01 02:13:49
在某大型医院,由于业务量很大,必须启用20台客户机为患者挂号.
在为每个病人挂号时,服务器必须为每次挂号生成一个唯一的挂号ID.
请问如何生成?(服务器生成后会返回给客户机哈)
谢谢!!!
PS:WHITE_WIN,请问你回答我的那个A表和B表的答案是正确的么?谢谢. 请回答在那个问题里面吧.

使用一个这样的存储过程就可以在挂号单表(TABLENAME)中插入新挂号单数据的同时,返回一个新的挂号单号。多少台机器都不会出问题的。

create procedure insert_getid
@NAME VARCHAR(40),--性名
@SEX INT,--性别
@TYPE INT --科别
@id INT output --挂号ID
AS
SET @ID=ISNULL((SELECT MAX(ID) FROM TABLENAME),0)+1
INSERT INTO TABLENAME(ID,NAME,SEX,TYPE) VALUES(@ID,@NAME,@SEX,@TYPE)
GO

如果是Access数据库
可以在Access里面的自动编号的字段大小改成同步复制id,可以生成全球唯一id

如果是oracle
直接用 这个表 做一个 插入后 触发器
定义一个序列
select 序列 into sid from dual;
实现 :new.id = sid

这样也是不可能出现问题的 除非你是分布式数据库