Blazor 学习 WebAPI

SQL

INSERT

USE [INTERVIEW]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[USP_TBL_DA_ST_TODO_ITEMS_INSERT]
    @pSBUID             int,
    @pEVENT_NAME        nvarchar(20),
    @pEVENT_DATE        datetime,
    @pREMARKS           nvarchar(200),
    @pEVENT_END_DATE    datetime,
    @pCREATED_BY        nvarchar(200),
    @strMessage         VARCHAR(100) OUT
AS
BEGIN
    -- 设置 NOCOUNT ON 以防止额外的结果集干扰 SELECT 语句。
    SET NOCOUNT ON;
BEGIN TRY
BEGIN TRANSACTION NEWEVENT

    -- 插入新记录到 TBL_DA_ST_TODO_ITEMS 表中
    INSERT INTO [dbo].[TBL_DA_ST_TODO_ITEMS]
           ([SBUID]
           ,[EVENT_NAME]
           ,[EVENT_DATE]
           ,[REMARKS]
           ,[STATUS]
           ,[CREATED_DATE]
           ,[CREATED_BY]
           ,[EVENT_END_DATE])
     VALUES
           (@pSBUID
           ,@pEVENT_NAME
           ,@pEVENT_DATE
           ,@pREMARKS
           ,'NEW'  -- 默认状态为 NEW
           ,GETDATE()  -- 创建日期为当前日期时间
           ,@pCREATED_BY
           ,@pEVENT_END_DATE)
    
    -- 检查是否没有错误
    IF @@ERROR=0
    BEGIN
        -- 提交事务
        COMMIT TRANSACTION NEWEVENT
        SET @strMessage='OK'  -- 设置输出消息为 OK
    END
END TRY
BEGIN CATCH
    -- 回滚事务
    ROLLBACK TRANSACTION NEWEVENT
    -- 设置输出消息为错误信息和错误行号
    SET @strMessage=ERROR_MESSAGE()+ERROR_LINE()
    RETURN
END CATCH
END
  • 设置 ANSI_NULLS 和 QUOTED_IDENTIFIER:

    • SET ANSI_NULLS ONSET QUOTED_IDENTIFIER ON 是确保 SQL 语法和行为符合 ANSI 标准。
  • 设置 NOCOUNT ON:

    • SET NOCOUNT ON 用于防止 SQL Server 返回影响的行数,这有助于避免干扰后续的 SQL 语句。
  • 开始事务:

    • BEGIN TRANSACTION NEWEVENT 启动一个名为 NEWEVENT 的事务,以便在插入过程中,如果发生错误,可以回滚。
  • 插入新记录:

    • 使用 INSERT INTO 语句将传入的参数插入到 TBL_DA_ST_TODO_ITEMS 表中。STATUS 字段默认为 'NEW'CREATED_DATE 字段使用当前日期时间。
  • 检查错误并提交事务:

    • IF @@ERROR=0 检查是否没有错误,如果没有,则使用 COMMIT TRANSACTION NEWEVENT 提交事务,并设置输出消息 @strMessage'OK'
  • 错误处理:

    • BEGIN CATCH 如果在 TRY 块中发生错误,将回滚事务 ROLLBACK TRANSACTION NEWEVENT,并将错误信息和错误行号设置为输出消息 @strMessage

SELECT

USE [INTERVIEW]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[USP_TBL_DA_ST_TODO_ITEMS_SELECT]
    @pSBUID int
AS
BEGIN
    -- 设置 NOCOUNT ON 以防止额外的结果集干扰 SELECT 语句。
    SET NOCOUNT ON;

    -- 插入存储过程的语句
    SELECT ITEMS.[NID]
          ,[SBUID]
          ,[EVENT_NAME]
          ,[EVENT_DATE]
          ,[EVENT_END_DATE]
          ,[REMARKS]
          ,[STATUS]
          ,[CREATED_DATE]
          ,[HEX_COLOR]
          ,CASE WHEN CREATED_BY IS NULL THEN 'ANONYMOUS' ELSE CREATED_BY END AS CREATED_BY
      FROM INTERVIEW.[dbo].[TBL_DA_ST_TODO_ITEMS] ITEMS
      LEFT JOIN TBL_DA_ST_DROPDOWN DDL
      ON ITEMS.STATUS = DDL.DROPDOWN_VALUE
      WHERE SBUID=CASE WHEN @pSBUID=0 THEN SBUID ELSE @pSBUID END
END
  • 设置 ANSI_NULLS 和 QUOTED_IDENTIFIER:

    • SET ANSI_NULLS ONSET QUOTED_IDENTIFIER ON 是确保 SQL 语法和行为符合 ANSI 标准。
  • 设置 NOCOUNT ON:

    • SET NOCOUNT ON 用于防止 SQL Server 返回影响的行数,这有助于避免干扰后续的 SQL 语句。
  • SELECT 语句:

    • INTERVIEW.dbo.TBL_DA_ST_TODO_ITEMS 表中选择记录,并根据 @pSBUID 参数进行过滤。
    • 选择的字段包括 NIDSBUIDEVENT_NAMEEVENT_DATEEVENT_END_DATEREMARKSSTATUSCREATED_DATEHEX_COLOR,以及处理 CREATED_BY 字段,当 CREATED_BY 为 NULL 时,显示为 'ANON
  • 25
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值