首页 > 其他 > 详细

重置参数值为缺省值

时间:2020-05-09 15:15:35      阅读:56      评论:0      收藏:0      [点我收藏+]

有一项目表,即为参数表,其中许多字段均设有缺省值。

现在想用户重置时,这些字段的值均Reset为字段预设的缺省值。

如:

技术分享图片

 

技术分享图片

 

我们可以从系统表INFORMATION_SCHEMA.COLUMNS来获取字段以及其一个属性。

技术分享图片

技术分享图片
 SELECT 
            [COLUMN_NAME], REPLACE(REPLACE([COLUMN_DEFAULT],((,‘‘),)),‘‘) AS [COLUMN_DEFAULT]
        FROM
            INFORMATION_SCHEMA.COLUMNS
        WHERE
          [TABLE_SCHEMA] = dbo 
          AND [TABLE_NAME] = QueryParameter
Source Code


此时,我们想对这结果,呈现为另一种表现:

技术分享图片

 

这样的的结果,就如同直接SELECT 表的结果一样:

技术分享图片

表现形式一样,在前端绑定数据就没有什么问题了。

 

上面一系列操作,用户需要点击Reset之后,只是把缺省值绑定至相关的字段域中,还需要再进一步更新才能把数据表的数据改为缺省值。

 还不如一步到位,用户操作重置之后,直接在数据库进行更新。

技术分享图片

 

技术分享图片
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[usp_QueryParameter_Update_ResetfaultValue]
(
    @ParmKey [tinyint],
    @UpdatedBy NVARCHAR(30)
)
AS
BEGIN
    ;WITH q  AS 
    (    
         SELECT 
            [COLUMN_NAME], REPLACE(REPLACE([COLUMN_DEFAULT],((,‘‘),)),‘‘) AS [COLUMN_DEFAULT]
        FROM
            INFORMATION_SCHEMA.COLUMNS
        WHERE
          [TABLE_SCHEMA] = dbo 
          AND [TABLE_NAME] = QueryParameter
    )

    UPDATE [dbo].[QueryParameter] 
    SET [DataRecord_Option] = q1.[COLUMN_DEFAULT],
    [DataRecords] = q2.[COLUMN_DEFAULT],
    [DropDown_Option] = q3.[COLUMN_DEFAULT],
    [DropDowns] = q4.[COLUMN_DEFAULT],
    [NON_Option] = q5.[COLUMN_DEFAULT],
    [NONs] = q6.[COLUMN_DEFAULT],
    [Search_Option] = q7.[COLUMN_DEFAULT],
    [Searchs] = q8.[COLUMN_DEFAULT],
    [DefaultValue] = q9.[COLUMN_DEFAULT],
    [UpdatedBy] = @UpdatedBy,
    [UpdatedDate] = CURRENT_TIMESTAMP
    FROM q AS q1,q AS q2,q AS q3,q AS q4,q AS q5,q AS q6,q AS q7,q AS q8,q AS q9
    WHERE q1.[COLUMN_NAME] = NDataRecord_Option 
        AND q2.[COLUMN_NAME] = NDataRecords 
        AND q3.[COLUMN_NAME] = NDropDown_Option 
        AND q4.[COLUMN_NAME] = NDropDowns 
        AND q5.[COLUMN_NAME] = NNON_Option  
        AND q6.[COLUMN_NAME] = NNONs 
        AND q7.[COLUMN_NAME] = NSearch_Option 
        AND q8.[COLUMN_NAME] = NSearchs 
        AND q9.[COLUMN_NAME] = NDefaultValue
    AND [ParmKey] = @ParmKey
END
Source Code

 

重置参数值为缺省值

原文:https://www.cnblogs.com/insus/p/12857114.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!