Prepared Statements (MySQL)
Naar navigatie springen
Naar zoeken springen
MySQL's variant van dynamische SQL heet Prepared statements. Als je weet waar je mee bezig bent, kunnen prepared statements heel handig zijn. Vaak zijn ze zelfs de enige oplossing.
Eén commando per statement
Een prepared statement kan maar één commando bevatten:
set @string="update tabel set velda=ifnull(velda,''); update tabel set veldb=ifnull(veldb,'');" -- Werkt niet! set @string="update tabel set velda=ifnull(velda,''), veldb=ifnull(veldb,'');" -- Werkt wel!
Bronnen
Dynamische SQL in het algemeen
- http://stackoverflow.com/questions/2977356/in-mysql-how-to-pass-a-table-name-as-stored-procedure-and-or-function-argument
- http://www.sommarskog.se/dynamic_sql.html
- http://stackoverflow.com/questions/2754423/use-a-variable-for-table-name-in-mysql-sproc
Prepared statements
- http://stackoverflow.com/questions/2977356/in-mysql-how-to-pass-a-table-name-as-stored-procedure-and-or-function-argument
- http://rpbouman.blogspot.nl/2005/11/mysql-5-prepared-statement-syntax-and.html - Achtergrondinfo, oa. tav. prestaties
- http://dev.mysql.com/doc/refman/5.1/en/sql-syntax-prepared-statements.html