mysql with variable table name
Christos Cheretakis
xalkina at otenet.gr
Wed Sep 15 16:43:03 EEST 2004
Axelman wrote:
> Γειά Χαρά!
>
> Έχω μια ερώτηση που με βασανίζει εδώ και αρκετό καιρό σχετικά με τη
> mysql v5.0.0. Προσπαθώ να φτιάξω ένα stored procedure που να δέχεται ως
> input parameter ενα varchar που θα είναι το table name και θα γυρνάει τα
> data αυτού το table. Κάτι σαν
>
> create procedure myproc(table_name varchar(50))
> bebin
> select * from table_name
> end
>
> όσο κι αν έχω ψάξει δεν έχω βρεί απάντηση στο θέμα. Μπορεί κάποιος να με
> βοηθήσει λίγο?
Για να κάνεις κάτι τέτοιο θα πρέπει η βάση σου να υποστηρίζει dynamic
sql.
Όταν πας να δημιουργήσεις την procedure με το create, ο compiler
ελέγχει τον κώδικα και πρέπει να μπορεί να βρει όλα τα
ονόματα/αντικείμενα στα οποία αναφέρεσαι --εδώ στο table_name.
Όταν υποστηρίζει dynamic sql κάνεις κάτι όπως:
$sql_statement = 'SELECT * FROM ' || table_name;
execute immediate $sql_statement;
Το συντακτικό τώρα που χρησιμοποίησα είναι κάτι ανάμεσα σε PL/SQL & PHP,
γιατί δεν ξέρω αν και πως το υποστηρίζει η My. Υποψιάζομαι όμως πως δε
θα το υποστηρίζει...
> Ευχαριστώ πολύ
> axelmangr
>
>
Χ/
More information about the Linux-greek-users
mailing list