Я использую SQLite, и у меня есть таблица для свойств и таблица для под-свойств. Каждое подчиненное свойство указывает на своего родителя, используя столбец fkPropertyId. Прямо сейчас, чтобы создать исходную базу данных, у меня есть скрипт, который выглядит примерно так:
INSERT INTO property VALUES(1,.....);
INSERT INTO property VALUES(2,.....);
INSERT INTO property VALUES(3,.....);
INSERT INTO subproperty VALUES(1,.....,3);
INSERT INTO subproperty VALUES(2,.....,3);
INSERT INTO subproperty VALUES(3,.....,3);
INSERT INTO property VALUES(4,.....);
Теперь я хочу избавиться от жестко закодированного rowId, так что это будет что-то вроде:
INSERT INTO property VALUES(NULL,.....);
INSERT INTO property VALUES(NULL,.....);
INSERT INTO property VALUES(NULL,.....);
INSERT INTO subproperty VALUES(NULL,.....,X);
INSERT INTO subproperty VALUES(NULL,.....,X);
INSERT INTO subproperty VALUES(NULL,.....,X);
INSERT INTO property VALUES(NULL,.....);
Где x указывает на последний вставленный rowId в таблице свойств. Прямо сейчас, это
(SELECT MAX(rowId) FROM property)
Есть ли лучший (и более технически точный) способ написания этого сценария?