Hallo,
ich komme bei einem INSERT nicht weiter und vereinfache diesen zur Übersichtlichkeit mal...
Tabelle userrechte
Spalten iduser, berechtigung, idzuordnung (idzuordnung hat immer eine fortlaufende Nummer und kommt nie doppelt vor... 1,2,3,4,5,... dazu kommt, das in der selben Tabelle im Bereich über 10000 andere Zuordnungen stattfinden...)
Habe versch. Möglichkeiten ausprobiert, eine davon wäre:
insert into userrechte (iduser, berechtigung, idzuordnung) select 'NEUEUSERID', berechtigung, (select max(idzuordnung) from userrechte where idzuordnung<=10000) from userrechte where resid=REFERENZUSERID;
Klar funktioniert das Statement nicht, da der select max den wert behält, beispielsweise 555 und den bei 3 Einträgen hinterlegen möchte, aber wie kann der Wert hochgezählt werden? Es gibt ja hier keine for-Schleifen...
Hat jemand einen Lösungsvorschlag?
(Es handelt sich hierbei noch um Ingres-SQL)
Viele Grüße
Christian
ich komme bei einem INSERT nicht weiter und vereinfache diesen zur Übersichtlichkeit mal...
Tabelle userrechte
Spalten iduser, berechtigung, idzuordnung (idzuordnung hat immer eine fortlaufende Nummer und kommt nie doppelt vor... 1,2,3,4,5,... dazu kommt, das in der selben Tabelle im Bereich über 10000 andere Zuordnungen stattfinden...)
Habe versch. Möglichkeiten ausprobiert, eine davon wäre:
insert into userrechte (iduser, berechtigung, idzuordnung) select 'NEUEUSERID', berechtigung, (select max(idzuordnung) from userrechte where idzuordnung<=10000) from userrechte where resid=REFERENZUSERID;
Klar funktioniert das Statement nicht, da der select max den wert behält, beispielsweise 555 und den bei 3 Einträgen hinterlegen möchte, aber wie kann der Wert hochgezählt werden? Es gibt ja hier keine for-Schleifen...
Hat jemand einen Lösungsvorschlag?
(Es handelt sich hierbei noch um Ingres-SQL)
Viele Grüße
Christian
Zuletzt bearbeitet: