Prepared Statements (MySQL)
Versie door Jeroen Strompf (overleg | bijdragen) op 12 dec 2015 om 18:03 (→Eén commando per statement)
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