Как иметь динамический SQL в хранимой процедуре MySQL
Я не верю, что MySQL поддерживает mysqld динамический SQL. Вы можете mysql-query делать «подготовленные» операторы, которые mysqldump похожи, но отличаются.
Вот mysql-if пример:
mysql> PREPARE stmt FROM
-> 'select count(*)
-> from information_schema.schemata
-> where schema_name = ? or schema_name = ?'
;
Query OK, 0 rows affected (0.00 sec)
Statement prepared
mysql> EXECUTE stmt
-> USING @schema1,@schema2
+----------+
| count(*) |
+----------+
| 2 |
+----------+
1 row in set (0.00 sec)
mysql> DEALLOCATE PREPARE stmt;
Подготовленные операторы mysql-if часто используются для просмотра mysql-query плана выполнения данного mysql-query запроса. Поскольку они выполняются mysqlclient с помощью команды execute, а sql может mysqld быть назначено переменной, вы my-sql можете приблизиться к тому mysql-table же поведению, что и к динамическому mysqld sql.
Вот хороший link об этом:
Не mysql-table забудьте освободить stmt
, используя mysqlclient последнюю строку!
Удачи!
mysql
dynamic
Как иметь динамический SQL в хранимой процедуре MySQL
Мы используем файлы cookies для улучшения работы сайта. Оставаясь на нашем сайте, вы соглашаетесь с условиями использования файлов cookies. Чтобы ознакомиться с нашими Положениями о конфиденциальности и об использовании файлов cookie, нажмите здесь.