insert into met een 1 variabel en 1 vast gegeven

Status
Niet open voor verdere reacties.

Tveer

Gebruiker
Lid geworden
26 aug 2001
Berichten
102
Beste lezer,
Een nieuwe gebruiker (met gebrcode 283) moet dezelfde rechten krijgen op typecode zoals gebrcode 159 die al heeft. 159 heeft rechten op bijv typecodes A, B en C en gebruiker 283 moet op diezelfde typecodes rechten krijgen.

Mijn idee is dat ik eerst laat ophalen welke typecode-rechten gebruiker 159 heeft en dat ik dat vervolgens vastleg voor gebruiker 283. Oftewel de VERSCHILLENDE typecodes moeten voor DEZELFDE gebruiker 283 worden toegevoegd aan tabel X.
(lastig uitleggen hoor).

Type- en gebruikerscode zijn vastgelegd in de tabel X, die heeft 2 kolommen: gebrcode en typecode.

Ik gebruik hiervoor het volgende:

insert into X (typecode, gebrcode)
select typecode
from X
where gebrcode = '159','283';

Dit levert de volgende foutmelding op: ORA-01427: single-row subquery returns more than one row.

Ik lees op internet wel manieren om 1 regel toe te voegen maar dat is teveel handwerk (veel typecodes!!)
Veel andere werkwijzen gaan over het ophalen van typecode EN gebrcode uit een andere tabel. In mijn 'queste' gaat het om 1 variabele (typecode) terwijl de toe te voegen gebrcode vast is (283).

Ik kan natuurlijk wel een opsomming maken van alle typecodes waarop 159 rechten heeft. Maar dan weet ik niet hoe ik dan in 1x gebruiker 283 op diezelfde typecodes rechten kan geven.

Ik weet even niet meer hoe ik het moet doen.
Wie helpt?
 
Probeer het eens zo:


[sql]insert into X (typecode, gebrcode)
(select typecode, '283'
from X
where gebrcode = '159')
[/sql]

Je kunt kiezen voor insert into met values of insert into met select, maar als je select gebruikt kun je natuurlijk ook gewoon vaste data selecteren als je die nodig hebt ;)

Tevens heb je waarschijnlijk wat haakjes tekort, subquery bij insert into moeten (als ik het goed heb hoor) altijd met haakjes om de hele query.
 
Zeer bedankt Frats, het werkt goed.
Weer wat geleerd!
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan