很怪的问题,用作业执行存储过程,当执行时间设置在8:00之前时,生成的数据就有问题,8:00之后数据就正确,为什么啊?

nsi20141 2005-05-09 10:29:17
写了一个存储过程,执行该存储过程是把一个表中的数据插入到另一个表中(该存储过程有一个时间参数),每天都要执行,想通过作业来执行该存储过程。

命令如下:
DECLARE @dateReport DateTime
SET @dateReport = DATEADD(day, -1, getdate())
exec PRO_INSERT_SI_InvoiceDay @dateReport

PRO_INSERT_SI_InvoiceDay 是存储过程
@dateReport 时间参数
如果把作业的执行时间设置在8:00之前时,生成的数据就有问题,8:00之后数据就正确
困饶我有段时间了,存储过程没有问题,可能是什么原因引起的呢?
请各位指点!
...全文
106 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
nsi20141 2005-05-10
  • 打赏
  • 举报
回复
换了一个数据库就用作业执行存储过程插入的数据正确,存储过程应该没有问题,可能是数据库本身的问题吗? 请指点一下啊
wangdehao 2005-05-09
  • 打赏
  • 举报
回复
应该是存储过程的问题
nsi20141 2005-05-09
  • 打赏
  • 举报
回复
生成的数据不正确,很多数据都是0
了缘 2005-05-09
  • 打赏
  • 举报
回复
应该跟你的存储过程PRO_INSERT_SI_InvoiceDay 有关系
了缘 2005-05-09
  • 打赏
  • 举报
回复
生成的数据就有问题,具体的问题是怎么样的呢
nsi20141 2005-05-09
  • 打赏
  • 举报
回复
CREATE PROCEDURE PRO_INSERT_SI_DeliveryDay
@date datetime
AS
DECLARE
@date_invoice datetime
SET @date_invoice = CONVERT(varchar(10),@date,120)
BEGIN
DELETE FROM SI_DeliveryDay WHERE DT_Delivery=@date_invoice
INSERT INTO SI_DeliveryDay (
ID_Record, DT_Delivery, VA_Year, VA_Month, VA_Day,
ID_Customer, ID_MarketRegion, ID_Product,CS_UnitPrice,
QT_ProductSum)
SELECT NEWID(), CONVERT(varchar(10),@date_invoice,120), YEAR(@date_invoice), MONTH(@date_invoice), DAY(@date_invoice),
ISNULL(ID_Customer, ''), ISNULL(ID_MarketRegion, ''), ISNULL(ID_Product, ''), CS_UnitPrice,
SUM(ISNULL(QT_Product,0) + ISNULL(QT_Promotion,0))
FROM SI_Invoice
WHERE IN_Active = 'Y'
AND DT_Delivery >= @date_invoice AND DT_Delivery < DATEADD(day, 1, @date_invoice)
GROUP BY ID_Customer, ID_MarketRegion, ID_Product
END
上述是我写的存储过程,根据时间参数把SI_Invoice表一天的数据插入到SI_DeliveryDay 表中

34,590

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧