是否可以在MySql中执行类似的操作:
从table_a a中选择*,CONCAT(schema_name,'。','my_table')为 database_name 内部联接table_b b在b.id = a.id上 a.id2 = c.id;
上的内连接 database_name c基本上,database_name的值取自现有查询,并且它将在同一查询中使用。
是否可以在不使用存储过程的情况下执行此类操作? 如果没有,是否可以在不使用循环的情况下在Java中执行此操作?
答案 0 :(得分:0)
在单个查询中无法执行此操作。但是,它并不需要存储过程。
查询中的标识符不能变量;当提交SQL文本时,MySQL需要实际知道对象的名称(表,列,函数等);标识符在执行时不会发生变化。
这并不需要存储过程,但它确实需要两个单独的SELECT语句。一个SELECT用于检索数据库标识符。并且其中的值可用于表示包含SQL文本的字符串,以便将另一个SELECT提交到数据库。