0
请问如何使用带有存储过程的Microsoft SQL Server 2012显示插入到归档表格中的行数。我的代码显示如下。我跑的代码成功,但在调用存储过程,我得到了错误消息指出显示从现有表格插入到表格中的行数
消息8114,级别16,状态5
过程p_moveTransHisttoArchive3a,行0错误转换数据类型为varchar到日期时间。
这里是我的代码:
IF OBJECT_ID(N'Production.p_moveTransHisttoArchive3a', N'P') IS NOT NULL
DROP PROCEDURE Production.p_moveTransHisttoArchive3a;
GO
CREATE PROCEDURE Production.p_moveTransHisttoArchive3a
@FiveDaysAgo DATETIME
AS
SET NOCOUNT ON;
BEGIN
DECLARE @counter INT;
SET @counter = @@ROWCOUNT
INSERT INTO Production.TransactionHistoryArchive
SELECT*
FROM Production.TransactionHistory
WHERE TransactionDate <= @FiveDaysAgo
RETURN @counter --No of rows moved
END;
GO
你需要'SET @counter = @@ ROWCOUNT'(或只是'RETURN @@ ROWCOUNT')* *后的'INSERT' – 2015-02-23 19:22:10
标题是无关向你展示错误......大概是' TransactionDate'不是'DATETIME'。 – 2015-02-23 19:22:46
你需要明确你的陈述。您应该在插入和用于填充它的选择中按名称列出所有列。 – 2015-02-23 19:26:01