美文网首页
SqlServer 自定义表类型

SqlServer 自定义表类型

作者: YANG_LIVE | 来源:发表于2020-09-10 16:17 被阅读0次

    一、自定义表类型的创建

    CREATE TYPE [dbo].[tpCRM_ActivityWx_Survey_Detail] AS TABLE(
        [Item_ID] [SMALLINT] NOT NULL DEFAULT ((0)),
        [Item_Field] [NVARCHAR](50) NOT NULL DEFAULT ('0'),
        [Item_Desc] [NVARCHAR](50) NOT NULL DEFAULT ('0'),
        [Priority] [SMALLINT] NOT NULL DEFAULT ((0)),
        [Is_Required] [BIT] NOT NULL DEFAULT ((0)),
        [Answer_Type] [VARCHAR](20) NOT NULL DEFAULT ('0')
    )
    GO
    --删除 DROP TYPE [dbo].[tpCRM_ActivityWx_Survey_Details]
    

    二、作为存储过程参数的传递。

    自定义表类型作为存储过程的参数时,需要在后面加READONLY。

    示例如下:

    CREATE PROCEDURE dbo.up_test 
    (
       @DefineTable tpCRM_ActivityWx_Survey_Detail READONLY 
    )
    AS
    BEGIN
       --具体操作代码
    END
    

    三、调用带有自定义表参数的存储过程

    DECLARE @define_table UserDefineTable
    
    DECLARE @define_table TABLE
    (
        material VARCHAR(40) NULL ,
        quantity NUMERIC(18, 4) NULL
    )
    
    INSERT  INTO @define_table
    ( material ,
        quantity
    )
    SELECT  'm01',10 UNION ALL
    SELECT  'm02',20 UNION ALL
    SELECT  'm03',33
    EXEC up_test @define_table
    

    相关文章

      网友评论

          本文标题:SqlServer 自定义表类型

          本文链接:https://www.haomeiwen.com/subject/ugppektx.html