由于这个存储过程返回的表是动态的,不同的输入参数会造成返回的表字段会有多有少。我现在就是想把整个返回的表的值和结构用一个临时表来完全复制,求哪位大侠看看能不能实现这个?
------解决思路----------------------
恐怕不好办 常规的办法是
INSERT INTO #TB EXEC...
------解决思路----------------------
你能确定最多的返回字段有多少个吗?如果可以,那么去建立一张最多字段的临时表,每次判断后做插入,插入的字段要收写出来。
------解决思路----------------------
CREATE PROCEDURE getDate(@p int)
AS
BEGIN
IF OBJECT_ID('tempdb.dbo.#temp') IS NOT NULL
DROP TABLE #temp
IF @p = 1
SELECT a,b INTO #temp FROM table1;
ELSE IF @p = 2
SELECT a,c,d,e INTO #temp FROM table1;
ELSE
SELECT a,b,c,d,e INTO #temp FROM table1;
RETURN
END
------解决思路----------------------
动态语句创建普通表和临时表,最大的差别就是能否向上返回。
你要是说能用普通表就没什么难度了。
------解决思路----------------------
还不如直接select * into temp_table from table这样