ilearn 2024-06-26 15:03 采纳率: 0%
浏览 11

调试一个SQL SERVER的存储过程出错

我想调试一个SQL SERVER的存储过程,我的SQL SERVER 版本是 2008,我 的存储过程如下

img

如图,我在执行到 SET ANSI_NULLS ON 那行程序就退出了

我的存储过程

USE [jgc2]
GO
/****** Object:  StoredProcedure [dbo].[procdebugtrigger]    Script Date: 06/26/2024 15:00:58 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO

ALTER procedure [dbo].[procdebugtrigger] 
as
begin

INSERT INTO process_main ( process_No, Prod_No, Prod_Add, Batch_No, process_Num, std_price, process_cost, std_per, process_date, process_bywho, process_memo, packpage_price, clje, is_out ) VALUES ( '2024061901142144', '31000424', '福建', '123123', 100.000, 98.75580, 9875.58, 100.00, '2024-6-19 14:21:44.109', '01', '', 0.00, 0.00, 'no' )

INSERT INTO process_Sub ( process_no, Prod_No, Prod_Add, Batch_No, process_Num, Lest_Num, std_price, dep_price, produce_price, produce_date, source, att_no ) VALUES ( '2024061901142144', '31000424', '福建', '20231203', 100.000, 100.000, 98.755800, 117.630000, 0.00, '2023-12-14 0:0:0.000', 'in', 'BACK202403302300' )




end 

  • 写回答

2条回答 默认 最新

  • 专家-赤兔[在线] 全栈领域优质创作者 2024-06-26 15:03
    关注

    引自免费微信小程序:皆我百晓生

    要解决这个问题,首先确保你的SQL Server环境已正确安装并配置好。然后,按照以下步骤进行调试:

    1. 检查变量:确保SET ANSI_NULLS ON语句被正确设置。

    2. 查看错误信息:在Visual Studio的调试器中,通过观察ERROR_NUMBER()属性来获取错误编号。这将帮助你定位问题所在。

    3. 分析错误描述:阅读错误描述,尝试理解错误发生的背景。例如,在示例中,错误描述显示为"屏幕录制Ctrl+Alt+S",这可能表明存储过程中存在某些问题导致录像无法正常运行。

    4. 排查原因

      • 检查存储过程中的参数值是否正确。
      • 确保数据库连接成功。
      • 确认存储过程名称是否正确。
      • 查看存储过程的输出字段是否与预期相符。
      • 检查是否有未提交的事务或锁。
    5. 修改存储过程:根据发现的问题,对存储过程进行必要的修改。确保所有参数值都是有效的,并且没有潜在的冲突。

    6. 测试修复:完成修改后,重新编译存储过程,并再次运行它。观察错误是否仍然存在。

    7. 确认无误:一旦问题得到解决,可以考虑在实际环境中部署存储过程,以验证其功能是否恢复正常。

    如果你能提供更多的具体信息或代码片段,我可以更精确地指导你解决问题。如果你不确定如何开始调试,建议先查阅相关文档,了解如何在SQL Server上调试存储过程。

    评论 编辑记录

报告相同问题?

问题事件

  • 创建了问题 6月26日