我开发了以下代码:
CREATE PROCEDURE [dbo].[Test01]
AS
BEGIN
SELECT * FROM TestTable
END
CREATE PROCEDURE [dbo].[Test02]
AS
BEGIN
DECLARE @tmp TABLE
(
TestID int,
Test nvarchar(100),
)
INSERT INTO @tmp
EXEC Test01
SELECT COUNT(*) FROM @tmp
END
但是如果我在 TestTable
上添加或删除一列,我必须修改 @tmp
否则结果是:
Column name or number of supplied values does not match table definition
如何解决这个问题?
最佳答案
尝试手动指定列:
SELECT a, b FROM TestTable
和
INSERT INTO @tmp (a, b)
这应该可以修复您提到的错误。
关于sql - 获取存储过程结果中的行数,无论列数/类型如何,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12689117/