mysql> select * from CT;
| CID | MID | REPORT_QUERY |
| 1 | 1 | select * from emp; |
| 2 | 2 | select * from student; |
2 rows in set (0.00 sec)
I want to execute queries in REPORT_QUERY
column.
DELIMITER //
CREATE PROCEDURE TRYct()
BEGIN
SET @str=(SELECT GROUP_CONCAT(REPORT_QUERY SEPARATOR ' ') FROM CT);
PREPARE q from @str;
EXECUTE q;
END //
DELIMITER ;
i use this code but it works if there is only one query in my table. if there is two query than it gives an error.
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'select * from student' at line 1
where is the problem ? Help me.
If you want to execute SQL that is stored in column of some MySQL table, try this:
Contents of the table
sql_queries
:As i understand your question is that you need to run the queries which are stored in table column in
SQL
Form.Here you can fetch the queries form
table column
and execute them in mysqli.SQL QUERY TABLE IMAGE HERE THE QUERIES ARE STORED
SQL EMPLOYEE TABLE [WHICH IS DYNAMICALLY CALLED BY QUERY TABLE DURING EXECUTION]
PHP SQL CODE : `
`
You can use a cursor to get each
REPORT_QUERY
onCT
table, and execute that using prepared statements:After create procedure, you can call as bellow:
call run_queries();
That's it.