在存储过程中调用另一个存储过程的问题?
CREATE PROCEDURE [dbo].[spMRViewToProc]
@FromDbName varchar(50),
@ToDbName varchar(50)
AS
exec('SELECT '+@FromDbName+'.dbo.materialrequest.*, ISNULL('+@ToDbName+'.dbo.materialrequestContrast.ModifyDate,
'+@FromDbName+'.dbo.materialrequest.InputDate) AS ModifyDate
FROM '+@FromDbName+'.dbo.materialrequest LEFT OUTER JOIN
'+@ToDbName+'.dbo.materialrequestContrast ON
'+@FromDbName+'.dbo.materialrequest.MaterialRequestID = '+@ToDbName+'.dbo.materialrequestContrast.MaterialRequestID')
GO
CREATE PROCEDURE [dbo].[spTest]
@FromDbName varchar(50),
@ToDbName varchar(50)
AS
???
EXEC('INSERT INTO MRViewToProc EXEC spMRViewToProc '+@FromDbName+', '+@ToDbName+'')
???
GO
spMRViewToProc存储过程返回结果集的数据列非常多,我想把spMRViewToProc存储过程返回的结果集存储到一个临时表里,一开始我建了一个表MRViewToProc,结构和spMRViewToProc存储过程返回结果集的结构完全一样,可是执行时出现错误,服务器: 消息 213,级别 16,状态 5,行 1
插入错误: 列名或所提供值的数目与表定义不匹配。我又看了好几遍发现结构一样,
请问有没有什么方法实现把spMRViewToProc存储过程返回结果集存储到一个临时表里,而不用一一定义每个列的类型????