Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
SQL Server 2000/2005/2008, Express, Access, MySQL, Oracle
Query dinamiche
sabato 18 giugno 2011 - 04.35
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
Elenco Tags
MySQL 5.5
dotnetnapo
Profilo
| Junior Member
55
messaggi | Data Invio:
sab 18 giu 2011 - 04:35
Ciao a tutti,
da MYSQL volevo sapere se è possibile, avendo due tabelle generiche TAB1 e TAB 2, selezionare dinamicamente una o l'altra in base ad un parametro passato via URL.
esempio se
ID=1 la query mi seleziona la TAB1
ID=2 la query mi seleziona la TAB2
Grazie
speedx
Profilo
| Junior Member
111
messaggi | Data Invio:
sab 18 giu 2011 - 06:33
Se fai una procedura dovrebbe essere possibile
//// Marcello C.
micto27
Profilo
| Senior Member
385
messaggi | Data Invio:
sab 18 giu 2011 - 07:12
Una possibilità è quella di sfruttare la nomenclatura delle tabelle.
Se il parametro valesse 1 o 2 e le tabelle si chiamassero Tabella1 e Tabella2
potresti ogni volta costruire dinamicamente il comando da eseguire:
sql = "SELECT * FROM TABELLA" & parametro & " WHERE........"
oppure di valutare il parametro se non fosse possibile, per via del nome delle tabelle, utilizzarlo direttamente
if (parametro == "1")
NomeTabella = "Pippo";
else
NomeTabella = "Pluto";
sql = "SELECT * FROM " & NomeTabella & " WHERE........"
Ciao
alx_81
Profilo
| Guru
8.814
messaggi | Data Invio:
sab 18 giu 2011 - 07:28
>Una possibilità è quella di sfruttare la nomenclatura delle tabelle.
>Se il parametro valesse 1 o 2 e le tabelle si chiamassero Tabella1
>e Tabella2
>potresti ogni volta costruire dinamicamente il comando da eseguire:
>
>sql = "SELECT * FROM TABELLA" & parametro & " WHERE........"
>
>oppure di valutare il parametro se non fosse possibile, per via
>del nome delle tabelle, utilizzarlo direttamente
>
>if (parametro == "1")
> NomeTabella = "Pippo";
>else
> NomeTabella = "Pluto";
>sql = "SELECT * FROM " & NomeTabella & " WHERE........"
>
>Ciao
Ciao, sì è una possibilità, ma è un po' pericolosa perchè ti espone ad attacchi di tipo sql injection.
Io sarei per il consiglio di Marcello oppure per fare la selezione applicativamente, prima di arrivare al database, ma creando due query distinte.
--
Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT
http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi
Torna su
Stanze Forum
Elenco Threads
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?
Dopo esserti registrato potrai chiedere
aiuto sul nostro
Forum
oppure aiutare gli altri
Consulta le
Stanze
disponibili.
Registrati ora !