» Poradna » Programy

Oracle procedura na SELECT

 |   | 

Zdravim, muzete mi nekdo poradit, jak v Oracle 10g vytvorit pojmenovany a ulozeny blok (zrejme procedura), ktery mi pouze provede prikaz SELECT .....

diky

Odpovědi na otázku

 |   | 

ctreate or replace procedure jsem_vul as

v_int integer;
begin

select id
into vIid
from jsemVul
where id=1;

end;


Kapisto?

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   | 

nejak prave nerozumim tomu into vIid? taky nevim proc tam deklaruji promennou v_int ?

diky moc

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   | 

potřebuji z te procedury dostat ty hodnoty, z konzole si SELECT normalne vypisu, ale jak to predat z te procedury? co kdyz budu mit vetsi pocet vracenych vysledku?

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   | 

Tomíku, to je nejen funkční, ale i vtipné )

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   | 

ted trochu vazneji.

Doma nemam oracle, takze poradim postup.

dej typ parametru out na rowtype. napriklad.

p_return output mojeschema.mojetabulka%rowtype;

a v procedure dej

select *
into p_return
where id > 10;

a pak muzes vratit recordset, majici vice vet


Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   | 

no a kdyz mam SELECT z nekolika tabulek, a zaroven treba nejaky agregovany atribut? nemuzu pouzit schema tabulky, protoze zadnou takovou nemam. zkousel jsem to pres nekolik promennych (%type), do kterych ukladam jednotlive atributy SELECTU, ale nejak mi to nechce vratit vice zaznamu

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   | 

napr. SELECT jmeno, prijmeni FROM Clovek WHERE vek > 22; kde Clovek(id,jmeno,prijmeni,vek,adresa)

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   | 

ORA-01422: exact fetch returns more than requested number of rows

diky

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   | 


skus pouzit
TYPE type_tab IS TABLE OF tab%rowtype;
var_tab type_tab;
select * BULK COLLECT INTO var_tab from tab;
for i in var_tab.first .. vat_tab.last
loop
  dbms_output.put_line(var_tab(i).st lpec);
end loop
 

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   | 

nejak nevim, porad mi to hlasi chybu
CREATE OR REPLACE PROCEDURE zobraz_plodiny (nazev CHAR, cena NUMBER) AS
DECLARE
TYPE type_tab IS TABLE OF Pokus.Plodina%rowtype;
p_tab type_tab;
BEGIN
SELECT nazev_plodiny, nazev_odrudy, cena_osiva BULK COLLECT INTO p_tab FROM Plodina WHERE nazev_plodiny=nazev AND cena_osiva=cena;
FOR i IN p_tab.FIRST .. p_tab.LAST
LOOP
DBMS_OUTPUT.PUT_LINE(p_tab(i).nazev_plodiny);
END LOOP;
END zobraz_plodiny;
/

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   | 

mozno to je tym ze nie su v selecte uvedene vsetky stplce z Plodina, skus select *
jednoduchsie riesenie na jednorazove pouzitie moze byt:
for rec in (select * from Plodina where nazev_plodiny=nazev AND cena_osiva=cena)
loop
  dbms_output.put_line(rec.nazev_plodiny);
end loop;
ak som sa nepomylil. Pricom rec nema byt deklarovane.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   | 

procedura se vytvorila bez chyby, dokonce jsem ji spustil: PL/SQL procedure successfully completed. ale zadny vystup na cmd :(

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   | 

pritom kdyz stejny SELECT provedu primo na prikazovem radku, dostanu pozadovany vysledek

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   | 

vyskusal by som spustit len dbms_output.put_line('test');
ci to vobez nieco vypisuje

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   | 

nevypsalo to nic asi nejake nastaveni, ale nevim jake??

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   | 

ja pouzivam pl/sql developer vystup zobrazuje v specialnom okne,
mozno pomoze vyskusat nieco z tadialto
http://www.psoug.org/reference/dbms_output.html

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   | 

uz to jede, musel jsem nastavit serveroutput on no ale to je jen cast meho zajmu, protoze ja bych pak ten vystup z ORACLE potreboval namapovat na nejakou tridu v APS.NET (C#) a ten vystup DBMS_OUTPUT asi neni to prave, ne??

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   | 

tak to by som ten select spustal priamo aps.net

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   | 

tak to by som ten select spustal priamo v aps.net

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   | 

prave ze mame mit funkcnost v procedurach na strane serveru :)

Souhlasím  |  Nesouhlasím  |  Odpovědět

Související témata: Oracle, Procedura, Select, Blok




Určitě si přečtěte

Nový iPhone a další novinky Applu: sledujte, na co se zase budou stát fronty

Nový iPhone a další novinky Applu: sledujte, na co se zase budou stát fronty

** Apple dnes představuje nové produkty v čele s novými iPhony ** Nemusí zůstat jen u telefonů, čekají se i další novinky ** Úvodní přednáška začíná v 19:00 našeho času

David Polesný | 57

Vyzkoušeli jsme eObčanku a přihlásili se s ní na weby úřadů. Vážně to funguje!

Vyzkoušeli jsme eObčanku a přihlásili se s ní na weby úřadů. Vážně to funguje!

** Máme eObčanku, máme čtečku, vyzkoušeli jsme přihlášení na weby úřadů. ** Objevily se drobné problémy, podařilo se nám je vyřešit. ** Používání eObčanky pro online identifikaci je velmi pohodlné.

Marek Lutonský | 35

Windows 10 už jsou na 700 milionech počítačů, ale není to jen labutí píseň?

Windows 10 už jsou na 700 milionech počítačů, ale není to jen labutí píseň?

** Windows 10 překonaly hranici 700 milionů instalací ** To je úctyhodné číslo a miliarda se blíží ** Analýzy ale i tak ukazují proměnu, jak používáme počítače a mobily

Jakub Čížek | 49

Vylaďte si Wi-Fi: Podívejte se, jaká pásma máte doma volná a kam signál nedosáhne

Vylaďte si Wi-Fi: Podívejte se, jaká pásma máte doma volná a kam signál nedosáhne

** Prozkoumejte, jaké pásmo je pro vaši síť nejlepší ** Díky heat mapě snadno poznáte, kde to bude se signálem horší ** Vše zvládnete i z mobilního telefonu

Vladislav Kluska | 26

Photolemur 3: Prostě do něj přetáhnete fotky a začne se dít magie. Tedy údajně...

Photolemur 3: Prostě do něj přetáhnete fotky a začne se dít magie. Tedy údajně...

** Je lepší nabušený Photoshop, nebo program s jedním tlačítkem? ** Photolemur si myslí to druhé ** Tento fotoeditor neumí skoro nic, a přitom (skoro) všechno

Jakub Čížek | 19


Aktuální číslo časopisu Computer

Jak vytvořit a spravovat vlastní web

Velký test herních klávesnic a DVB-T2 tunerů

Vše o formátu RAW

Vybíráme nejlepší základní desku