建立一个过程
CREATE DEFINER=`root`@`localhost` PROCEDURE `insert_me`(IN `Src` char(80),IN `Dst` char(80),in Uid char(30))
BEGIN
declare Dbname varCHAR(32) DEFAULT('2012-05-07') ;
IF Src <> '' and Dst <> '' then
insert into Dbname (calldate,src,dst,tag)
select `calldata`,`src`,`dst`,`tag` from `ask`.`tome` WHERE uid = Uid;
end if;
END怎么在call insert_my('802','13632510278','1333107047.19') 总是提交test.Dbname 不存在呢?过程里Dbname 不是已经设为2012-05-07了吗
CREATE DEFINER=`root`@`localhost` PROCEDURE `insert_me`(IN `Src` char(80),IN `Dst` char(80),in Uid char(30))
BEGIN
declare Dbname varCHAR(32) DEFAULT('2012-05-07') ;
IF Src <> '' and Dst <> '' then
insert into Dbname (calldate,src,dst,tag)
select `calldata`,`src`,`dst`,`tag` from `ask`.`tome` WHERE uid = Uid;
end if;
END怎么在call insert_my('802','13632510278','1333107047.19') 总是提交test.Dbname 不存在呢?过程里Dbname 不是已经设为2012-05-07了吗
select `calldata`,`src`,`dst`,`tag` from `ask`.`tome` WHERE uid = Uid';
prepare stml from @asql;
execute stml;
CREATE DEFINER=`root`@`localhost` PROCEDURE `insert_me`(IN `Src` char(80),IN `Dst` char(80),in Uid char(30))
BEGIN
declare Dbname varCHAR(32) DEFAULT('2012-05-07') ;
set @asql='insert into Dbname (calldate,src,dst,tag)
select `calldata`,`src`,`dst`,`tag` from `ask`.`tome` WHERE uid = Uid';
prepare stml from @asql;
execute stml;
end if;
END
只是在调用的时候
call insert_me('802','13632510278','1333107047.19') 还是提示Table 'test.Dbname' doesn't exist呢
select `calldata`,`src`,`dst`,`tag` from `ask`.`tome` WHERE uid = Uid');
prepare stml from @asql;
execute stml;
SET @sqltext=concat('insert into ',Dbname,' (calldate,src,dst,tag)
select `calldata`,`src`,`dst`,`tag` from `ask`.`tome` WHERE uid = Uid'');
PREPARE sqlstr from @sqltext;
Execute sqlstr;
drop PROCEDURE if exists insert_me;
CREATE PROCEDURE `insert_me`(IN `Src` char(80),IN `Dst` char(80),in Uid char(30))
BEGIN
declare Dbname varCHAR(32) DEFAULT('2012-05-07') ;
SET @UUid = Uid;
IF Src <> '' and Dst <> '' then
SET @sqltext=concat('insert into ',Dbname,' (calldate,src,dst,tag)
select `calldata`,`src`,`dst`,`tag` from `ask`.`tome` WHERE uid = @UUid');
PREPARE sqlstr from @sqltext;
Execute sqlstr;
end if;
END;