PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

Sequenzen mit zusammengesetztem Primärschlüssel

INSERT INTO [users]
(business_id, id)
FROM
(
SELECT 
ID - (SELECT MIN(ID) FROM [users] WHERE business_ID = B.ID) AS business_id
,(SELECT MAX(ID)+1 FROM [users] WHERE business_ID = B.ID) AS ID
FROM [businesses] B
)

Wenn Sie dies mit den neuen Einträgen verknüpfen, die Sie hinzufügen, sollte es den zusammengesetzten Schlüssel bereitstellen

Neues Update:

INSERT INTO [users]
(business_id, id, name)
VALUES
(
3
,ISNULL((SELECT MAX(ID)+1 FROM [users] WHERE business_ID = 3),1) AS ID
,'d'
)