通过主表ID插入子表关联数据

该存储过程用于在SQLServer中处理通过主表ID插入子表的关联数据。首先,从XML参数中提取所需字段,然后检查主表是否存在对应记录,如果存在则更新,否则插入新记录,并同时更新子表数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

USE [x1_core_prod]
GO
/****** Object:  StoredProcedure [dbo].[Inspection_plan]    Script Date: 2021/11/11 15:45:04 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROC [dbo].[Inspection_plan] @xml XML
AS
BEGIN
    SET NOCOUNT ON;
   
    DECLARE @header_id INT =0;
    DECLARE @item_no NVARCHAR(50);
    DECLARE @item_name NVARCHAR(240);
    DECLARE @item_model NVARCHAR(1000);
    DECLARE @rosh_flag NVARCHAR(50);
    DECLARE @zr_flag NVARCHAR(50);
    DECLARE @yw_flag NVARCHAR(50);
    DECLARE @yw_time INT;
    DECLARE @usercode NVARCHAR(50);
    DECLARE @sample_storage NVARCHAR(100);
    DECLARE @test_standard NVARCHAR(50);
    DECLARE @MAX_IDENTITY  INT;
    DECLARE @items TABLE
    (   head_id INT,
        line_id INT,
        qc_itm NVARCHAR(50),
        qc_name NVARCHAR(500),
        created_by NVARCHAR(20),
        last_updated_by NVARCHAR(20),
        qc_sqc NVARCHAR(500),
        test_min NVARCHAR(50),
        test_max NVARCHAR(50)
    );
    SELECT @item_no = x.value('./item_no[1]', 'nvarchar(50)'),
           @item_name = x.value('./item_name[1]', 'nvarchar(50)'),
           @item_model = x.value('./item_model[1]', 'nvarchar(50)'),
           @rosh_flag = x.value('./rosh_flag[1]', 'nvarchar(50)'),
           @zr_flag = x.value('./zr_flag[1]', 'nvarchar(50)'),
           @yw_flag = x.value('./yw_flag[1]', 'nvarchar(50)'),
        

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值