【发布时间】:2010-05-26 15:25:40
【问题描述】:
一个关于存储过程的简单问题。
我有一个存储过程在一个表中收集一大堆数据。然后我从另一个存储过程中调用这个过程。我可以将数据复制到调用过程中创建的新表中,但据我所知,这些表必须相同。
这是对的吗?或者有没有办法只插入我想要的数据?
例如....
我有一个程序返回这个:
选择 @batch 作为批处理, @计数为数量, pd.位置, cast(pd.GL as decimal(10,3)) as [Length], cast(pd.GW as decimal(10,3)) as Width, cast(pd.GT as decimal(10,3)) as 厚度 FROM 属性数据 pd 通过...分组 pd.位置, pd.GL, pd.GW, pd.GT
然后我调用这个过程,但只需要以下数据:
声明@BatchTable 表 ( 批处理 varchar(50), [长度] 十进制(10,3), 宽度小数(10,3), 厚度小数(10,3), )
INSERT @BatchTable(批次,[长度],宽度,厚度) 执行 dbo.batch_drawings_NEW @batch
所以在第二个命令中我不想要 Qty 和 Location 值。
但是上面的代码一直返回错误:
“插入错误:列名或提供的值的数量与表不匹配”
【问题讨论】:
标签: sql stored-procedures temp-tables