【发布时间】:2016-03-24 14:05:14
【问题描述】:
我浏览了这个网站和其他网站上的很多帖子,但我无法弄清楚这一点。我正在尝试从表中选择列列表,然后在类似于以下的查询中使用它们:
set @cols = (select group_concat(column_name) as 'col_list' FROM `INFORMATION_SCHEMA`.`COLUMNS` WHERE (`TABLE_SCHEMA` = 'REPORTS' AND `TABLE_NAME` = 't_labor' AND column_name like '%host%'));
set @s = 'select ' + @cols + ' from REPORTS.t_labor';
prepare stmt from @s;
execute stmt;
deallocate prepare stmt;
-- execute ('select ' + @cols + ' from REPORTS.t_sales');
我正在尝试按原样运行上述语句。我也尝试过创建一个存储过程,但我以前从未在 MySQL 中使用过存储过程,也不知道如何调试它们。如果可能,我宁愿在不使用存储过程的情况下执行此操作,但如果有必要,也可以。
我尝试使用 prepare 语句,也尝试了 execute 语句,但都无法正常工作。
【问题讨论】:
标签: mysql select stored-procedures execute dynamic-columns