mysql with variable table name

Axelman axelmangr at freemail.gr
Wed Sep 15 19:01:43 EEST 2004


Christos Cheretakis wrote:

> 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
>>
>>
>
>     Χ

Έχω την εντύπωση ότι γίνεται. Απ' όσο διάβασα στο επίσημο site της mysql 
υποστηρίζει dynamic mode. Τη σύνταξη ψάχνω και εγώ. Τη γενική ιδέα την 
έχω συλλάβει. Άν κάποιος έχει ιδέα περιμένω με αγωνία

Ευχαριστώ πολυ
axelmangr




More information about the Linux-greek-users mailing list