我想知道如何在MySQL中定义或声明内部表
我是MySQL新手,我不知道它的语法
如您所见,我创建了存储过程
CREATE DEFINER=`root`@`localhost` PROCEDURE `MySP`(
actioncode VARCHAR(5),
TNewsID BIGINT
)
BEGIN
IF actioncode = 1 then -- Retrive all from the database --
select *
from emp.tbnews;
elseIF actioncode = 2 then -- Retrive all from the database By NewsID --
select NewsID,NewsSubject,NewsSubjectAR,NewsDetails,NewsDetailsAR,CreatedOn,DisplayOrder,
AllowDisplay,img
from emp.tbnews
Where NewsID=TNewsID;
elseIF actioncode = 3 then -- fkjskldfjklsdf --
select NewsID,NewsSubject,NewsSubjectAR,NewsDetails,NewsDetailsAR,CreatedOn,DisplayOrder,
AllowDisplay,img
from emp.tbnews;
END IF;
END我真正想要的是在IF语句之前声明Internal table
在Sql Server中,我是这样做的
declare @tbTemp table (
a as int,
b as char...etc.
)因为我想把insert语句放在
IF actioncode = 1
Insert into @tbTemp所以如果你知道请告诉我怎么做
向每一个人致以最美好的问候。
发布于 2011-01-13 22:31:06
create temporary table tmp
(
id int unsigned not null,
name varchar(32) not null
)
engine=memory; -- change engine type if required e.g myisam/innodb
insert into tmp (id, name) select id, name from foo... ;
-- do more work...
select * from tmp order by id;
drop temporary table if exists tmp;或
create temporary table tmp engine=memory select id, name from foo... ;
-- do more work...
select * from tmp order by id;
drop temporary table if exists tmp;发布于 2011-01-13 22:11:30
你是说CREATE TEMPORARY TABLE吗?这是一个特定于运行语句的连接的内存中的表,因此,除非您运行的是持久连接,否则不必担心名称冲突。
https://stackoverflow.com/questions/4680886
复制相似问题