我如何创建一个自定义的ID
的表,就像22/00/00001
有一个序列?对不起,我是一个新手与数据库。所有的帮助将不胜感激,谢谢!
我是医院的实习生。我需要用SQL Server重写一个数据库,我对特定的ID号有问题。它必须是year/month/id00001
,例如11/22/02586
。每个科室必须有自己的病人计数器。任何帮助将不胜感激,谢谢!
示例:
CREATE SEQUENCE MySequence
AS INT
START WITH 1
INCREMENT BY 1;
GO
-- Create a new table called 'PATIENT' in schema 'dbo'
-- Drop the table if it already exists
IF OBJECT_ID('dbo.PATIENT', 'U') IS NOT NULL
DROP TABLE dbo.PATIENT
GO
-- Create the table in the specified schema
CREATE TABLE dbo.PATIENT
(
NUM_PAT [VARCHAR] (20) NOT NULL
PRIMARY KEY
CONSTRAINT [DF_PATIENT_ID_PATIENT]
DEFAULT FORMAT ((NEXT VALUE FOR MySequence), '22/00/00000#'), -- primary key column
NOM_PAT [VARCHAR](50) NOT NULL,
PREN_PAT [VARCHAR](50) NOT NULL,
DN_PAT [DATE] NOT NULL,
-- specify more columns here
);
GO
-- Insert rows into table 'PATIENT'
INSERT INTO PATIENT ([NOM_PAT], [PREN_PAT], [DN_PAT])
VALUES ('fred', 'alves', '25/11/1990'),
('alvaldo', 'merlin', '11/09/1985');
-- add more rows here
GO
1条答案
按热度按时间2q5ifsrm1#
我正在检查您的请求,我认为您可以通过两种方式进行处理,一种方式是定义一个表,您将在其中保存患者ID,以及一个包含计数器的列,以生成您的自定义ID示例
表名,如PatientCounter
或者在表patient中添加一个列Counter,我更喜欢分离的东西,但这也是一个选项,然后在查询中可以这样做。
结果
在确认您的应用程序已经使用了这个自定义id之后,更新表中的计数器。
此致