Oletame, et andmebaasis on loodud funktsioon f_lopeta_teenus, mille esimene parameeter on p_teenus_kood, mille tüüp on SMALLINT ja teine parameeter on p_selgitus, mis on tüüpi TEXT.
1. Süsteem eeldab argumendi (sisendväärtuse) alusel vale parameetri andmetüüpi.
Vale: SELECT f_lopeta_teenus(p_teenus_kood:=30, p_selgitus:='Osutus ebapopulaarseks');
Süsteem eeldab, et parameeter p_teenus_kood on tüüpi INTEGER.
Õige: SELECT f_lopeta_teenus(p_teenus_kood:=30::SMALLINT, p_selgitus:='Osutus ebapopulaarseks');
::SMALLINT - tüübiteisendus tüüpi SMALLINT.
2. Parameetri nimi on väljakutses valesti kirjutatud.
Vale: SELECT f_lopeta_teenus(p_teenuse_kood:=30::SMALLINT, p_teenus_selgitus:='Osutus ebapopulaarseks');
Õige: SELECT f_lopeta_teenus(p_teenus_kood:=30::SMALLINT, p_selgitus:='Osutus ebapopulaarseks');
3. Osadele parameetritele ei anta väljakutses väärtust (argumenti) (parameetritele saab funktsiooni loomisel anda vaikimisi väärtuse ja siis ei pea nendele väljakutses väärtust andma).
Vale: SELECT f_lopeta_teenus(p_teenus_kood:=30::SMALLINT);
Õige: SELECT f_lopeta_teenus(p_teenus_kood:=30::SMALLINT, p_selgitus:='Osutus ebapopulaarseks');
4. Funktsiooni parameetritele viitamiseks ei kasutata nime ning argumentide järjekord on väljakutses vale.
Vale: SELECT f_lopeta_teenus('Osutus ebapopulaarseks', 30::SMALLINT);
Õige: SELECT f_lopeta_teenus(30::SMALLINT, 'Osutus ebapopulaarseks');
5. Funktsiooni otsitaks valest skeemist. Vaikimisi skeem on public. Oletame, et funktsioon on hoopis skeemis funktsioonid.
Vale: SELECT f_lopeta_teenus(p_teenus_kood:=30, p_selgitus:='Osutus ebapopulaarseks');
Õige: SELECT funktsioonid.f_lopeta_teenus(p_teenus_kood:=30::SMALLINT, p_selgitus:='Osutus ebapopulaarseks');
Kas postitus oli kasulik?
Keskmine hinne: Pole veel hinnanguid