Query parametrica

  • Creatore Discussione Creatore Discussione jobv
  • Data di inizio Data di inizio

jobv

Nuovo Utente
17 Feb 2010
5
0
0
Salve a tutti!

Sono uno studente di informatica alle prese con l’esame di basi di dati per il quale dovrei realizzare un database con Oracle 10g XE. Sincermante conosco solo quello che fino ad ora sono riuscito a studiare di SQL (poco vista la vastità di argomenti) ed anche di Oracle.

Ad ogni modo il database è creato, anche qualche trigger e qualche procedura però son due giorni che cerco ma non riesco a trovare una soluzione ad un problema anzi….mi sento più confuso di prima e quindi spero che qualcuno di voi mi possa aiutare.

Premettendo che uso SQLPlus e PL/SQL avre qualche domnda:

-In una funzione o procedura si può utilizzare l’istruzione SELECT….INTO, ma se volessi semplicemente che la funzione mi visualizzasse il risultato di una query senza metterlo da qualche parte (solo SELECT in poche parole) magari perché vorrei che la query sia fatta in base ad un parametro da passare alla funzione?
Potre usare una query parametrica ma:

-Come si crea una query parametrica?

Scusate la banalità!
 
Non conosco Oracle (ho lavorato solo con MySQL e poco con SQLite), però se per "query parametrica" intendi una query che recuperi solo le righe corrispondenti a determinati parametri, puoi fare una cosa di questo tipo:
Codice:
SELECT * FROM tabella WHERE campo='valore' AND campo1='valore1'
Ovviamente ci sono diversi operatori. Se magari mi dici cosa ti serve nello specifico posso darti una mano.
 
Grazie per aver risposto!

Quello che vorrei è realizzare una funzione o procedura in PL/SQL alla quale passare un parametro e che mi esegua una query tipo:

Codice:
SELECT * FROM tabella  WHERE campo1 = parametro ;

In oracle posso usare le variabili “bind” per fare qualcosa che si avvicini a ciò che vorrei…posso fare una provedura che riceve un parametro e poi ad esempio:

Codice:
CREATE Mia_procedura (parametro VARCHAR2 IN) IS

DECLARE

tmp VARCHAR2(20);

BEGIN

EXECUTE IMMEDIATE ‘Select * FROM :parametro’ INTO tmp USING parametro;

END;

ma comunque le lancio questa procedura con SQLPlus non vedo l’output. Mi dice solo che è stata eseguita correttamente.

Spero di essre stato comprensibile!
 
Fore questa cosa non si risolve perchè non è un uso...come dire... "proprio" di SQLPlus...
 

Discussioni simili