15. juni 2001 - 09:47Der er
15 kommentarer og 1 løsning
PL/SQL
Jeg er begynder i det her shit. Nu kunne jeg godt tænke mig at kunne ændre nedenstående script så det er muligt at den spørger om prodnr der skal opdateres og det antal der skal ind på lager. Hvordan gør jeg?
declare gl_lagerbeh produkter.lagerbeh%type; ny_lagerbeh produkter.lagerbeh%type; begin select lagerbeh into gl_lagerbeh from produkter where prodnr = 100870; ny_lagerbeh := gl_lagerbeh + 125; update produkter set lagerbeh = ny_lagerbeh where prodnr = 100870; commit; end; /
-ehf, jo det da nemmere, men spørgsmålet går mere på hvordan/kan man bruge &antal, &prodnr i en procedure. Jeg har nemlig ikke kunne finde noget om det i de bøger jeg har.
-pgroen,jeg arbejder i sql*plus worksheet og starter mit script med @add_lagerbeh; Herunder er outputtet på dit forslag.
Angiv værdien for prodnr: gammel 7: pnr := &prodnr; ny 7: pnr := ; Angiv værdien for antal: gammel 8: ant := &antal; ny 8: ant := OEM_sqlplus_input_finished; pnr := ; * FEJL i linie 7: ORA-06550: linje 7, kolonne 10: PLS-00103: Traf symbolet \";\", hvor en af følgende var forventet: ( - + mod not null <an identifier> <a double-quoted delimited-identifier> <a bind variable> avg count current exists max min prior sql stddev sum variance execute forall time timestamp interval date <a string literal with character set specification> <a number> <a single-quoted SQL string> Symbolet \"null\" erstattede \";\" for at fortsætte.
Prodnr:Angiv værdien for prodnr: gammel 7: where prodnr = &prodnr; ny 7: where prodnr = OEM_sqlplus_input_finished; Angiv værdien for antal: gammel 8: ny_lagerbeh := gl_lagerbeh + &antal; ny 8: ny_lagerbeh := gl_lagerbeh + 125; Angiv værdien for prodnr: gammel 9: update produkter set lagerbeh = ny_lagerbeh where prodnr = &prodnr; ny 9: update produkter set lagerbeh = ny_lagerbeh where prodnr = ; update produkter set lagerbeh = ny_lagerbeh where prodnr = ; * FEJL i linie 9: ORA-06550: linje 9, kolonne 60: PLS-00103: Traf symbolet \";\", hvor en af følgende var forventet: ( - + all mod null <an identifier> <a double-quoted delimited-identifier> <a bind variable> any avg count current max min prior some sql stddev sum variance execute forall time timestamp interval date <a string literal with character set specification> <a number> <a single-quoted SQL string> Symbolet \"null\" erstattede \";\" for at fortsætte.
Du har ret, det virker i sql*plus.1000 tak, nu kan jeg hovere over for bossen.
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.