Toon posts:

[SQL] een view editable maken

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik zit met een probleem dat ik een VIEW van een database "editable" wil maken. Daarmee bedoel ik dat als je iets in die view verandert deze veranderingen ook feitelijk worden doorgevoerd in echte tabellen waarop de view gebaseerd is. Ik had begrepen dat je dit moest doen met behulp van "stored procedures". Maar ik heb echt geen flauw idee hoe

Verwijderd

:? Wat bedoel je? Met UPDATE kun je een veld in een tabel updaten (dus ook veranderen!)

Verwijderd

Topicstarter
ja een normaal veld wel maar bij een view dus niet

  • jochemd
  • Registratie: November 2000
  • Laatst online: 31-08 19:19
Het is een beetje afhankelijk van de database die je gebruikt. Kijk eens in de handleiding en lees het hoofdstukje over RULE door.

Verwijderd

Ik ga maar ff uit van SQL server, maar dat vermeld je niet...
Meestal gaat het updaten vanzelf goed, maar mocht dat niet gaan moet je een INSTEAD OF UPDATE trigger maken, die wordt aangeroepen op het moment dat je de view update. Dan moet je handmatig de nieuwe waardes opvragen (kan met de virtuele tabel 'inserted'), en dan kan je die waardes zelf weer in de achterligende tabellen inserten met een simpel SQL statement...
Je kan het bovenstaande ook in een sp doen, maar dan moet je die wel aanroepen vanuit de Trigger, die moet in ieder geval!

  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Volgens mij is het niet echt de bedoeling dat je views kan editen...

  • baviaan
  • Registratie: Januari 2000
  • Niet online

baviaan

Hehe. Aap!

crisis. heb je het woord "view" wel eens vertaald?
je hoort de brondata van je view te editen, niet de view. :7

  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 06-11-2025
Uit: A Guide to The SQL Standard, 4th edition
Instead, all that happens when a view is created is that the definition of that view is remembered in some way.
...
Once a view has been created, to the user it is as if there really were a table in the database with the specified name.
...
The system will translate this expression, involving the view, into an equivalent expression involving the underlying table instead.
...
The translation process just illustrated applies to the update operations also.
...
The basic point is that not all views are updatable
...
We say that a view is SQL-Updatable if and only if all of the following conditions 1-8 hold:
en die voorwaarden mag je zelf ergens opzoeken ;) . In ieder geval moet de from clause maar 1 table bevatten.

Het hangt uiteraard van het DBMS af, of dit ook daadwerkelijk allemaal kan en overeenkomt met de SQL standaard.

tip: koop een goed boek als je serieus met deze stuff aan de slag gaat :)

Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment


  • whoami
  • Registratie: December 2000
  • Laatst online: 15:52
Op dinsdag 08 januari 2002 17:44 schreef ACM het volgende:
Volgens mij is het niet echt de bedoeling dat je views kan editen...
Nee, dat dacht ik ook.

https://fgheysels.github.io/


  • dusty
  • Registratie: Mei 2000
  • Laatst online: 21-02 00:06

dusty

Celebrate Life!

Op dinsdag 08 januari 2002 17:44 schreef ACM het volgende:
Volgens mij is het niet echt de bedoeling dat je views kan editen...
Singular views zijn wel te updaten met update. (Meestal dan)

Hierdoor kan je namelijk een soort rechten systeem genereren dat bepaalde gebruikers maar bij bepaalde gegevens mag komen.

Echter worden views (erg) vaak voor andere dingen misbruikt.

Back In Black!
"Je moet haar alleen aan de ketting leggen" - MueR


  • dusty
  • Registratie: Mei 2000
  • Laatst online: 21-02 00:06

dusty

Celebrate Life!

Op dinsdag 08 januari 2002 17:47 schreef Baviaan het volgende:
crisis. heb je het woord "view" wel eens vertaald?
je hoort de brondata van je view te editen, niet de view. :7
En soms heeft een gebruiker daar geen recht op, maar wel rechten op een view, en dan kan de gebruiker daar WEL updates op uitvoeren.

Het woord view is niet bedoeld dat je er alleen maar naar kijkt, Het woord is bedoeld in de trend van dat het een gezichtspunt is naar een table waarop je niet volledige rechten bezit, Denk aan bepaalde gegevens die een normale werknemer niet mag zien, maar andere gegevens ervan wel mag zien, dan zou je dit kunnen gaan opsplitsen in twee verschillende tabellen, maar dat werkt de normalisatie weer tegen, met views is dit op te vangen. Hierdoor geef je een database gebruiker de juiste views op tabellen wat die gebruiker MAG zien van dat tabel.

Back In Black!
"Je moet haar alleen aan de ketting leggen" - MueR


  • dusty
  • Registratie: Mei 2000
  • Laatst online: 21-02 00:06

dusty

Celebrate Life!

Op dinsdag 08 januari 2002 20:49 schreef whoami het volgende:
[..]
Nee, dat dacht ik ook.
Another lost sheep in the big wide world, maybe this sheep-entity will find his way eventually.

Back In Black!
"Je moet haar alleen aan de ketting leggen" - MueR


  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Op dinsdag 08 januari 2002 21:14 schreef dusty het volgende:
Singular views zijn wel te updaten met update. (Meestal dan)
Tsja, er zijn altijd uitzonderingen ;)
Echter worden views (erg) vaak voor andere dingen misbruikt.
Wanneer wordt een view misbruikt? :)

  • whoami
  • Registratie: December 2000
  • Laatst online: 15:52
Op dinsdag 08 januari 2002 21:23 schreef dusty het volgende:

[..]

Another lost sheep in the big wide world, maybe this sheep-entity will find his way eventually.
Wel een arrogant kerelke he, gij? :)

https://fgheysels.github.io/


  • dusty
  • Registratie: Mei 2000
  • Laatst online: 21-02 00:06

dusty

Celebrate Life!

Op dinsdag 08 januari 2002 21:27 schreef ACM het volgende:
[..]
Wanneer wordt een view misbruikt? :)
als een gebruiker recht heeft op alle tabellen maar besluit om zijn view toch maar te gebruiken omdat het makkelijker is immers zit daar al de combinatie van 5 tabellen in, die combineert hij dan met een andere tabel waaruit hij zijn gegevens haalt, terwijl hij als hij direct uit 3 base-tabellen zijn gegevens trekt hij dezelfde resultaat krijgt, maar dan 'iets' sneller.

Back In Black!
"Je moet haar alleen aan de ketting leggen" - MueR


  • dusty
  • Registratie: Mei 2000
  • Laatst online: 21-02 00:06

dusty

Celebrate Life!

Op dinsdag 08 januari 2002 21:34 schreef whoami het volgende:
[..]
Wel een arrogant kerelke he, gij? :)
Het is nog steeds dinsdag dus het is nog steeds mijn beurt, morgen is het de beurt aan ACM, hij is vééééééél erger dan mij, pas maar op!

Back In Black!
"Je moet haar alleen aan de ketting leggen" - MueR


  • whoami
  • Registratie: December 2000
  • Laatst online: 15:52
Op dinsdag 08 januari 2002 21:37 schreef dusty het volgende:

[..]

Het is nog maandag dus het is nog steeds mijn beurt, morgen is het de beurt aan ACM, hij is vééééééél erger dan mij, pas maar op!
Hmm.. alle gevoel van tijd verloren? You live in the past.

https://fgheysels.github.io/


  • dusty
  • Registratie: Mei 2000
  • Laatst online: 21-02 00:06

dusty

Celebrate Life!

Op dinsdag 08 januari 2002 21:39 schreef whoami het volgende:
[..]
Hmm.. alle gevoel van tijd verloren? You live in the past.
Gewoon te druk :)

Back In Black!
"Je moet haar alleen aan de ketting leggen" - MueR


  • whoami
  • Registratie: December 2000
  • Laatst online: 15:52
Op dinsdag 08 januari 2002 21:39 schreef dusty het volgende:

[..]

Gewoon te druk :)
Hoezo? Zie in je profile dat je manager bent... Managers hebben het nooit druk, ze doen maar alsof.

https://fgheysels.github.io/


  • dusty
  • Registratie: Mei 2000
  • Laatst online: 21-02 00:06

dusty

Celebrate Life!

Op dinsdag 08 januari 2002 21:41 schreef whoami het volgende:
[..]
Hoezo? Zie in je profile dat je manager bent... Managers hebben het nooit druk, ze doen maar alsof.
Mmmm.. toch maar eens mijn profiel updaten, ben ondertussen geen manager meer :)

Back In Black!
"Je moet haar alleen aan de ketting leggen" - MueR


  • D2k
  • Registratie: Januari 2001
  • Laatst online: 31-08 10:19

D2k

Op dinsdag 08 januari 2002 21:45 schreef dusty het volgende:

[..]

Mmmm.. toch maar eens mijn profiel updaten, ben ondertussen geen manager meer :)
manager,directeur,aandeelhouder,werknemer,voorzitter vd raad van commissarissen, voorzitter van de OR enz enz :)

en kantine jufrouw >:)

Doet iets met Cloud (MS/IBM)


  • whoami
  • Registratie: December 2000
  • Laatst online: 15:52
Op dinsdag 08 januari 2002 21:45 schreef dusty het volgende:

[..]

Mmmm.. toch maar eens mijn profiel updaten, ben ondertussen geen manager meer :)
Ok, slet. Dat lijkt er al wat meer op.

Misschien back on topic.
Tja, als je er eens goed over nadenkt dan moeten views eigenlijk wel editable zijn. Heb eigenlijk nog nooit serieus met views gewerkt. Wordt dat nog veel gebruikt eigenlijk?

https://fgheysels.github.io/


  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 06-11-2025
whoami: Tja, als je er eens goed over nadenkt dan moeten views eigenlijk wel editable zijn.
Sommige views kunnen niet editable zijn. De SQL standaard geeft een prachtig lijstje voorwaarden waaraan een view moet voldoen om editable te zijn. In m'n eerdere post staat dat vermeldt (de voorwaarden vond ik teveel tikken ;) ).
Heb eigenlijk nog nooit serieus met views gewerkt. Wordt dat nog veel gebruikt eigenlijk?
Voor gedistribueerde database systemen kan het wel handig zijn...

Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment

Pagina: 1