我还有123张表: M001 -> M010 -> M123。每一个都是一个客户端。当它使用触发器到达父表的记录时,调用如下函数:
Declare MasterX int;
Set MasterX = New.Master;
Call Lecturas_Insertar(MasterX,New.Id);这是我的函数:
BEGIN
#Set Master
If MasterX < 10 Then
Set MasterX = Concat("lecturas.M00",MasterX);
End If;
#Set Master
If MasterX Between 10 and 99 Then
Set MasterX = Concat("lecturas.M0",MasterX);
End If;
set @a=concat("INSERT INTO ",MasterX, "(Id) Values(" ,Id, ")");
PREPARE stmt1 FROM @a;
EXECUTE stmt1;
DEALLOCATE PREPARE stmt1;
END但它总是抛出以下错误:
Procedure execution failed
1146 - Table 'lecturas.M' does not exist感谢所有人的帮助
发布于 2012-06-18 22:20:29
试试这个脚本-
BEGIN
SET @a = CONCAT('INSERT INTO lecturas.M', LPAD(MasterX, 3, 0), '(Id) Values(', Id, ')');
PREPARE stmt1 FROM @a;
EXECUTE stmt1;
DEALLOCATE PREPARE stmt1;
ENDhttps://stackoverflow.com/questions/11082557
复制相似问题