Avatar billede stig3 Mester
06. maj 2008 - 18:32 Der er 7 kommentarer og
1 løsning

Teste stored procedure

Hej

Jeg vil gerne teste de stored procedures jeg laver, men kan ikke finde ud af hvordan man gør.

Jeg vil helst teste i SQL Developer som jeg bruger til at lave de stored procedures og ikke sqlplus.

CREATE OR REPLACE PROCEDURE SP_TEST( 
test_ind IN VARCHAR2,
test_ud out varchar2
) IS

BEGIN
  test_ud := 'Denne værdi vil jeg gerne vide hvad er';
END

Kan man kalde denne procedure fra et worksheet og se returværdien og er det exec, call eller noget helt tredje jeg skal skrive ?

Jeg har set en masse med ref cursor, men tror ikke det er det jeg leder efter.

På forhånd tak
Avatar billede stig3 Mester
06. maj 2008 - 19:07 #1
dbms_output.PUT_LINE(exec SP_TEST('øv dette virker ikke'));

Men måske er det noget i denne retning ?
Avatar billede Slettet bruger
06. maj 2008 - 21:25 #2
Måske kan du bruge en kodetester? http://www.quest.com/code-tester-for-oracle/
Avatar billede stig3 Mester
07. maj 2008 - 08:22 #3
Ja, men det er ikke rigtigt lige det :-)

Kan man ikke fyre en enkelt commando af der excekverer en stored procedure og giver et retur svar ?

lidt ala
call sp_test
eller
exec sp_test

Problemet er bare at jeg ikke kan se retursvaret...
Avatar billede pgroen Nybegynder
07. maj 2008 - 09:15 #4
Er det noget i stil med det her, du mener ?:

DECLARE
  v_test_ind  VARCHAR2 (30) := 'Et Eller andet';
  v_test_ud    VARCHAR2 (30);
BEGIN
  sp_test (v_test_ind, v_test_ud);
  dbms_output.put_line (v_test_ud);
END;
/
Avatar billede stig3 Mester
07. maj 2008 - 09:42 #5
Ja, men jeg kan ikke se hvor der skrives til....

SQL> DECLARE
  2    v_test_ind  VARCHAR2 (30) := 'Et Eller andet';
  3    v_test_ud    VARCHAR2 (30);
  4  BEGIN
  5    sp_test (v_test_ind, v_test_ud);
  6    dbms_output.put_line (v_test_ud);
  7  END;
  8  /

PL/SQL-procedure er udført.

SQL>



Hvor ser jeg output ?
Jeg har prøvet både i SQL Developer og SQL Plus. I sql plus har jeg også prøvet at slå en spool fil til, men der bliver ikke skrevet til den
Avatar billede stig3 Mester
07. maj 2008 - 10:44 #6
i sql plus kunne jeg se output efter:
set serveroutput on
Avatar billede pgroen Nybegynder
07. maj 2008 - 12:34 #7
I dit SQL-Worksheet har du et faneblad der hedder "DBMS Output".
I fanebladets menu, yderst til venstre, er der en 'taleboble-ikon' som du trykker på.
- Så burde den være der, når du kører dit script!
Avatar billede stig3 Mester
07. maj 2008 - 13:56 #8
Jamen dog, det er jo lige før man fælder en lille tåre :-)

Så behøver jeg ikke sqlplus. Lækert nok.
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester