[SQL] waarde automatisch invullen

Pagina: 1
Acties:
  • 138 views sinds 30-01-2008
  • Reageer

  • shardphoenix
  • Registratie: December 2000
  • Laatst online: 05-03 12:05
We hebben verschillende tabellen waarvan de tabel "artikel" de belangrijkste is.

in deze tabel staat een veld "ink_prijs" en "verk_prijs"
de bedoeling is dat het veld verk_prijs automatisch wordt ingevuld aan de hand van de ink_prijs.

de verk_prijs wordt namelijk ink_prijs * 1,1 (dus 10 % verhogen)
formule is dus volgens mij:

verk_prijs := ink_prijs * 1,1

Hoe doe ik dit in oracle forms?

  • justmental
  • Registratie: April 2000
  • Niet online

justmental

my heart, the beat

Normaal gesproken doe je dat met een database trigger.
In forms kun je dat ook doen met een 'on-insert' trigger.
Ook is er een property van een tekst item waarmee je dit kunt doen, de naam daarvan hangt af van je versie van forms (in 6i: iets met formula).

Who is John Galt?


  • shardphoenix
  • Registratie: December 2000
  • Laatst online: 05-03 12:05
zou je me dan kunnen helpen wat de syntax zou moeten worden?

de verk_prijs wordt dus ink_prijs * 1.1

het formula gedeelte wat je bedoelt zit ook in 8i en heb ik gevonden maar die helpfuncties en handleidinge zijn lekker overzichtelijk :?

  • nIghtorius
  • Registratie: Juli 2002
  • Laatst online: 26-08 12:20

nIghtorius

Poef!

ff denken..

werkt dit misschien niet?

code:
1
UPDATE artikel SET verk_prijs = ink_prijs * 1.1;


of denk ik nu te simpel?

[ Voor 3% gewijzigd door nIghtorius op 02-01-2003 15:54 ]

Ryzen 9 5900X @ 5.1Ghz | MPG B550 GAMING CARBON | 96GB DDR4-3200 | RTX 4070TI | 2TB + 1TB m.2 SSD | 3x 1TB HDD | 1x 2TB SATA SSD | 32" G3223Q (4K/144Hz)


  • shardphoenix
  • Registratie: December 2000
  • Laatst online: 05-03 12:05
dit werkt niet bij formula....volgens mij begint ie iedere keer te zeuren dat er een complete functie/procedure moet komen.

dit werkt dus niet...het mag ook in het create script worden aangepast...hieronder staat het script voor de tabel artikel. er zal dan een constraint moeten worden toegevoegd. het maakt niet zoveel uit waar als het maar werkt. Dus het mag in forms of in de sql scripts.

create table artikel
(art_nr number(3)
,naam varchar2(30)
,omschrijving varchar2(100)
,ink_prijs number(8,2)
,verk_prijs number(8,2) ("hier moet dus een constraint komen....maar welkë :?")
,levertijd number(3)
,constraint pk_artikel primary key(art_nr));

  • justmental
  • Registratie: April 2000
  • Niet online

justmental

my heart, the beat

mikevanrooijen schreef op 02 januari 2003 @ 15:46:
zou je me dan kunnen helpen wat de syntax zou moeten worden?

de verk_prijs wordt dus ink_prijs * 1.1

het formula gedeelte wat je bedoelt zit ook in 8i en heb ik gevonden maar die helpfuncties en handleidinge zijn lekker overzichtelijk :?
Forms 8i bestaat niet.
Waarschijnlijk kun je gewoon iets van: :bloknaam.ink_prijs*1.1 gebruiken.

Who is John Galt?


  • JaQ
  • Registratie: Juni 2001
  • Laatst online: 08:45

JaQ

moest je bij het gebruik van formula trouwens niet een paar block opties veranderen.. (single record of zoiets..?)

Ik denk dat ik voor een post-update, danwel post-insert trigger zou gaan, aangezien je anders elke keer de waarde van dat veld opnieuw gaat berekenen.. (als je ook kan query-en in dat scherm lijkt me dat niet zo handig)

Egoist: A person of low taste, more interested in themselves than in me


  • Goodielover
  • Registratie: November 2001
  • Laatst online: 18-08 11:34

Goodielover

Only The Best is Good Enough.

Ik zou het helemaal niet als een veld opnemen.
Wat voegt dat nou toe.

Je kan toch gewwon de berekening in je query opnemen.
Een afgeleide waarde noemen we dat. Er is voor zover ik kan zien geen reden voor redundantie.

Je kan misschien wel een stored procedure maken die je jouw afgeleide waarde kan laten berekenen, dan heb je de berekening tenminste op één plek staan. Je gebruikt die SP dan in de selects om de extra virtuele koolom te berekenen
Pagina: 1